我有一个超过 10k 行的 MySQL 数据库。当我执行查询以获取 24 小时内的所有行时,需要很长时间才能得到结果:
$sql = 'SELECT *, DATE_FORMAT(m.time, "%d.%m.%Y %H:%i:%s") AS date
FROM markers m,pid p
WHERE m.time >=DATE_SUB(NOW(), INTERVAL 24 HOUR)
AND m.pidID=p.id';
我已阅读有关表索引的内容,但无法使其适应我的查询。任何人都可以解释如何使用索引更改上述查询,以便查询不会进行全表扫描吗?
最佳答案
查询通常受益于在它们的 WHERE
和 JOIN...ON
条件(和 ORDER|GROUP BY
列表中使用的字段上的索引).
关于php - 通过索引提高查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38752446/