MySQL面试题——索引设计和创建的原则

MYSQL索引设计和创建原则

  1. 对于经常查询的字段,建议创建索引
  2. 索引不是越多越好,一个表如果有大量的索引,不仅占用磁盘空间,而且对于写操作会造成性能底下
  3. 避免对经常更新的表进行创建过多的索引,因为当表中有数据更改时,索引也会进行调整和更新,十分消耗系统资源
  4. 数量小的表建议不要创建索引,数据量小时索引不仅起不到明显的优化效果,对于索引结构的维护反而消耗资源
  5. 不要在区分度地的字段建立索引,比如性别字段,只有男女,建立索引完全起不到优化效果
  6. 定义有外键的数据列一定要建立索引,因为如果外键列上缺少索引会带来两个问题:
    1. 限制并发性:如果子表外键没有创建索引,那么在子表进行DML操作时,将会锁住整个父表
    2. 影响性能:首先如果外键上缺少索引,从主表关联子表的查询就只能对子表进行全表扫描的查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值