嘿,我在寻找一些使我的MySQL查询更加优化的方法,我买了一些到实践中,但是对于一些我想了解为什么它们被推荐。
例如,在我了解到MySQL读取10010行、抛出10000并返回10时,不使用“限制10000,10”。
现在我想知道的是:
参考本文:http://forge.mysql.com/wiki/Top10SQLPerformanceTips
“用巧妙的钥匙和命令代替MAX”
谢谢。
发布于 2011-03-29 20:25:47
一个聪明的键是一个键,它允许mysql按照想要的顺序读取行,因此不使用文件短表或临时表进行排序。
它确实是,而不是,必须是主键。要了解何时可以使用这样的键进行排序,请阅读以下非常有用的文章:http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html
发布于 2011-03-29 20:15:19
我要试一试问题1,说“聪明的键”是表中的主键,如果按一定的顺序排序,它就有价值。(例如,酒店数据库有一张桌子,可以跟踪客人入住时的情况。)使表的主键成为签入的TimeStamp。然后,当您需要知道最近的签入时,您可以按主键按降序排序)。我认为这比使用自动递增整数作为主键和时间戳字段的表要快。
你可以在this stackoverflow discussion中找到你对问题2的答案。它应该让您了解执行路径,但不一定要将其与链接中提到的聪明键进行比较。
https://stackoverflow.com/questions/5477993
复制相似问题