【发布时间】:2015-02-10 03:40:27
【问题描述】:
例如,我有一个表 (users),它的列是 name
案例 1:
我知道所有“名称”的值都是不同的(唯一的)但我没有使用此列的“主键”
案例 2:
我知道所有“名称”的值都是不同的(唯一的)并且我在此列中使用了“主键”
如果我将这两个查询用于“案例 1”和“案例 2”
1. SELECT * FROM `users` WHERE `name` = 'Obama'
2. SELECT * FROM `users` WHERE `name` = 'Obama' LIMIT 1
Case 1 和 Case 2 的性能差异是多少?
【问题讨论】:
-
从 mysql 开始(带有不那么智能的优化器),理论上会有区别。在实践中你几乎无法测量它。
-
"我知道所有 "name" 的值都是不同的" --- 所以索引没有标记为
UNIQUE? -
@PM77-1 不幸的是,检查的答案很差(其他的更糟)
标签: mysql sql performance