0

我试图创建一个显示查看次数最多的文档的脚本,但它在磁盘上创建了许多临时表......这是查询,我看不到错误在哪里或查询在哪里变得滥用。

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

有人能指出我正确的方向吗?

4

1 回答 1

1

如果您查看使用数据进行计算的查询部分,则可以加快查询速度:where子句和order子句。

如果您还没有,则在nots.cnt和上添加索引nots.fch

运行 a 也是一个好习惯explain

explain select notas.notid, ...

输出将告诉您是否使用了键以及未使用的位置。

于 2013-09-25T06:58:27.743 回答