单个表的查询性能更快

时间:2016-06-26 00:15:14

标签: mysql sql query-optimization query-performance

我在一张桌子上运行查询。

例如

SELECT firstName, COUNT(*) as num_bob
FROM DataTable
WHERE firstName= "bob"

类似于上面的查询需要很长时间。 数据库/表不使用索引,所有数据都存储在单个表中。有没有办法重写此查询以提高性能?

谢谢!

3 个答案:

答案 0 :(得分:0)

尝试删除GROUP BY ...

SELECT firstName, COUNT(*) as num_bob
FROM DataTable
WHERE firstName="bob";

它应该给你相同的结果。

答案 1 :(得分:0)

你可以尝试

“将表创建为(您的选择查询”)而不是选择此表

这比正常选择更快。

答案 2 :(得分:0)

首先,如果不需要Group By,请将其删除。如果需要,请使用DISTINCT和ORDER BY而不是GROUP BY。见this

您可以查看您的ISOLATION LEVEL。如果它在Serializable下,那么不用担心。但如果是,那么停止对Datable的其他要求会提高你的表现。

另见this。我觉得你很好。