我想优化这个mysql查询。在我的例子中,它非常慢,因为它需要 5.6 秒才能执行。我使用探查器来解决这个问题,但我对数据库没有太多了解。我的查询在这里:
SELECT
n.name,
n.computedmeaning,
m.origin,
m.gender,
m.pronunciation,
m.similar,
m.variants
FROM
names n
INNER JOIN meta m ON m.nameid = n.id
WHERE m.religion = 'hindu'
AND n.computedmeaning IS NOT NULL ORDER BY n.name LIMIT 0 , 30
我在meta
表上只有PARIMARY INDEX“id”
,在name
上只有PRIMARY INDEX“id”
表还可以在名称表上启用全文搜索。这是屏幕截图:
最后这是我的分析器屏幕截图警报:
最佳答案
为字段 religion
和 compulatedmeaning
提供索引。
引用In MySQL how to set index to the table?
CREATE INDEX 语句用于在表中创建索引。
索引允许数据库应用程序快速查找数据;无需阅读整个表格。
关于mysql - 如何调优mysql慢查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40147101/