Mur*_*lai 38 mysql sql indexing performance varchar
varchar列上的索引是否使查询运行得更慢?我可以把它变成int.而且我不需要进行LIKE%比较.
OMG*_*ies 83
varchar列上的索引是否使查询运行得更慢?
不,不是的.
如果优化器决定使用索引,则查询将运行得更快. 该表上的INSERTs/UPDATEs/DELETEs将会变慢,但不太可能注意到.
我不需要进行LIKE%比较
请注意使用:
LIKE '%whatever%'
Run Code Online (Sandbox Code Playgroud)
... 不会使用索引,但以下内容将:
LIKE 'whatever%'
Run Code Online (Sandbox Code Playgroud)
密钥是通配符串的左侧意味着不能使用列上的索引.
还要知道MySQL限制了为索引留出的空间量 - 对于MyISAM(InnoDB为767字节)表,它们最长可达1000字节.
Lei*_*h S 11
如果你可以用一个整数替换你的varchar列(我认为这是你的暗示)那么包含整数列的索引将比varchar列表现更好,原因有几个.
索引不会使查询变慢,数据库大小会变大,所以请继续尝试.
您应该能够在获取行时获得更好的性能,但这取决于您的数据和查询.
| 归档时间: |
|
| 查看次数: |
50884 次 |
| 最近记录: |