Peb*_*bbl 6 mysql query-optimization relational-database
有谁知道这两个查询之间是否存在任何速度差异(显然对于足够大的表):
SELECT field FROM table WHERE primary_key = "a particular value"
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT field FROM table WHERE primary_key = "a particular value" LIMIT 0,1
Run Code Online (Sandbox Code Playgroud)
我应该注意,该primary_key字段实际上是一个主键.
现在LIMIT 0,1确实有帮助,否则查询将继续查找其他匹配.我假设当涉及主键时,它应该由于它的唯一性而自动停止.所以我的猜测是添加它不会有任何好处.
有没有人遇到过这个?我目前没有足够大的数据集来测试.我还假设相同的答案适用于任何已设定的字段UNIQUE.
因此,阅读Hammerite提供的信息(感谢您)后,explain在两个查询上运行会产生:
其中将两个查询标识为CONST,链接定义为:
常量
该表最多只有一个匹配行,在查询开头读取.因为只有一行,所以优化器的其余部分可以将此行中列的值视为常量.const表非常快,因为它们只读一次.
因此,假设我正确地理解了两个查询,它们将被视为相同 - 这正是我所期望的.
| 归档时间: |
|
| 查看次数: |
6357 次 |
| 最近记录: |