我有一张桌子学生和第二本有能力的书籍。我试图获得一份学生名单以及他们拥有的书籍数量。
"SELECT
StudentID,
FullName,
book_count.ct
FROM
students
LEFT JOIN (
SELECT
StudentID,
COUNT(DISTINCT id) AS ct
FROM
books
GROUP BY
StudentID
) AS book_count
ON
book_count.StudentID = students.StudentID
ORDER BY
students.FullName ASC
LIMIT 0, 30;
这个查询大约需要6秒钟,随着更多书籍的增加,它会越来越慢。查看查询配置文件> 90%的时间是花费"复制到临时表"。问题是我的子选择查询得到了书籍的数量,并且总计了整个书籍表,无论我有多少学生可以查看,在我的情况下是30。如何提高性能呢?谢谢。
答案 0 :(得分:1)
将其更改为
$(el).trigger({type: 'keypress', which: 13, keyCode: 13});
在学生列中的FullName上添加索引 书中的学生ID和学生ID。