mysql高级篇索引优化
时间: 2023-09-13 14:09:08 浏览: 178
MySQL高级篇索引优化主要涉及MySQL Query Optimizer(查询优化器)和索引的使用。MySQL Query Optimizer是MySQL中负责优化SELECT语句的模块,通过计算分析系统中收集到的统计信息,为客户端请求的Query提供最优的执行计划,即最优的数据检索方式。索引是帮助MySQL高效获取数据的数据结构,它可以提供排序和查询的功能。
在索引优化中,需要考虑以下情况适合建立索引:
1. 主键自动建立唯一索引。
2. 频繁作为查询条件的字段应该创建索引。
3. 查询中与其他表关联的字段,尤其是外键关系,应建立索引。
4. 单键或组合索引的选择问题,通常在高并发情况下倾向于创建组合索引。
5. 查询中排序的字段,通过索引进行访问可以大大提高排序速度。
6. 查询中用于统计或分组的字段。
而以下情况不适合建立索引:
1. Where条件中用不到的字段不需要创建索引。
2. 表记录太少,通常建议超过300万条记录再考虑建立索引。
3. 经常进行增删改操作的表,建立索引可以提高查询速度,但同时会降低更新表的速度。
4. 数据重复且分布平均的字段,对于包含许多重复内容的数据列,建立索引没有太大实际效果。
因此,在索引优化中,应该根据具体情况选择最经常查询和最经常排序的数据列来建立索引,避免对不需要的字段建立索引,以提高查询效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [MySQL高级篇(SQL优化、索引优化、锁机制、主从复制)](https://blog.csdn.net/yuan2019035055/article/details/122310447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文