美文网首页
MySQL索引和字段类型,字段长度

MySQL索引和字段类型,字段长度

作者: willcoder | 来源:发表于2019-07-26 15:11 被阅读0次

    记一次MySQL不走索引的原因

    问题描述:

    首先是两个表,user_infouser_identify_info,这两个表通过user_id关联。
    user_infouser_id字段是int(11)类型,主键索引
    user_identify_infouser_id是varchar类型,普通索引
    执行结果如图,未使用到索引

    image.png

    解决:

    user_identify_info字段改为int(11)或者bigint类型,使用到索引

    image.png

    总结:

    最后查到
    1、字段是varchar类型,参数是int类型,不走索引

    2、字段是varchar类型,参数是字符串,走索引

    3、字段是int类型,参数是int类型,走索引

    4、字段是int类型,参数是字符串,走索引


    上面说的是字段类型对索引的影响,下面说字段长度。

    添加列delivery_address 字段扩展到1000


    image.png

    为这个字段添加单列索引,报异常出来,索引最大长度是3072 bytes

    image.png

    mysql5.7不报错,但会自动将索引长度限制在768

    image.png

    mysql8单列索引最长也是768


    image.png

    复合索引总长度不能超过768


    image.png

    相关文章

      网友评论

          本文标题:MySQL索引和字段类型,字段长度

          本文链接:https://www.haomeiwen.com/subject/kulcrctx.html