代码之家  ›  专栏  ›  技术社区  ›  user3649739

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

  •  0
  • user3649739  · 技术社区  · 8 年前

    我注意到 Join 花了很长时间,在我更换 ref 中的字段 Where 条款

    Where T.ref=234881283

    ID 字段

    Where T.ID=25641

    结果几乎是瞬间的。

    两个字段都是 Indexed 两者均为 BTREE Normal

    我需要和我的编码员核实一下,是否该ref字段必须 varchar(25) vs公司 Int 因为它总是以数字为基础。假设现在有一些好的reson,是否有更好的方法来索引该字段以获得更好的性能?

    `

    1 回复  |  直到 8 年前
        1
  •  0
  •   Rick James diyism    8 年前
    Where T.ref=234881283
    

    如果 ref 是一个 VARCHAR ,然后引用与之比较的字符串:

    式中,T.ref=234881283
    

    原因:MySQL看了看后说:“嗯,他有一些字符串,他正在寻找 数字 ;我会转换 全部的 字符串到数字 每一个 他运行该查询的时间。“”

    如果值为 总是 数字,然后更改 参考 INT (或 BIGINT 如果超过20亿)。