varchar(25)引用字段的最有效索引类型是什么?

时间:2018-03-26 15:56:23

标签: mysql indexing

我注意到Join花费了很长时间,经过一些实验后发现我更换了ref子句中的Where字段

Where T.ref=234881283

ID字段

Where T.ID=25641

结果几乎是瞬间的。

这两个字段Indexed均为BTREENormal

我需要与我的编码员核实,如果该参考字段实际上必须是varchar(25) vs Int,因为它始终是基于数字的。假设现在有一些好的反应,是否有更好的方法来索引该字段以获得更好的性能?

`

1 个答案:

答案 0 :(得分:0)

Where T.ref=234881283

如果refVARCHAR,则引用与之比较的字符串:

Where T.ref=234881283

原因:MySQL看着它说:"嗯,他有一些字符串,他正在寻找;我会在运行该查询的每个时间将所有字符串转换为数字。"

如果值总是数字,则将ref更改为INT(或BIGINT,如果它们超过20亿)。