Mysql表字段与索引设计原则

字段类型设计

  • bigint unsigned 主键(InnoDB引擎最好使用自增主键)
  • tinyint 类型、状态、Boolean
  • varchar 用户名等(长度可变)
  • char 手机号等(长度固定)
  • long text 文章内容等(长文本)

索引

普通索引

  • 什么时候建立索引?
    • 经常出现在where字段
    • 范围广的字段
    • 索引应该建在⼩字段上,对于⼤的⽂本字段甚⾄超⻓字段,不要建索引(索引类似英⽂字典, 越短的单词越好找)
    • 数据量大于300的应该建立索引
    • 频繁进⾏数据操作的表,不要建⽴太多的索引
  • 使用场景
    • ⾃定义的外键字段 (逻辑外键)
    • 适⽤于改动⼩, 查询多的场景 如公司内部的员⼯系统

联合索引(最左前缀原则)

设置联合索引
key k_mobile_type (mobile, type)
查询时,mobile必须有,查询才会使用索引

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容