我试图创建一个显示查看次数最多的文档的脚本,但它在磁盘上创建了许多临时表.... 这是查询,我没有看到错误的位置或查询变得滥用的地方。
select
notas.notid,
notas.ttl,
notas.brv,
notas.fch,
nots.notid,
nots.cnt,
nots.fch,
nots.sccn,
SUM(nots.hit) AS lasuma
FROM cadenano_cbc_noticias.notas
INNER JOIN cadenano_cbc_relacbc.nots
ON notas.notid = nots.notid
WHERE nots.cnt = 'notas'
AND nots.fch BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY nots.notid
ORDER BY lasuma DESC
LIMIT 10
有人可以指出我正确的方向吗?
答案 0 :(得分:1)
如果您查看使用数据进行计算的查询部分,您可以加快查询速度:where
子句和order
条款。
如果您还没有,请在nots.cnt
和nots.fch
上添加索引。
运行explain
:
explain select notas.notid, ...
输出将告诉您是否使用了键。