mysql的索引优化
发布时间:2023-12-14 12:17:31 所属栏目:MySql 来源:DaWei
导读: 1. SQL 性能分析 1. 查看执行频次 2. 慢查询日志 3. show profiles 4. explain 执行计划 2. 索引使用规则 1. 最左前缀法则
如果索引了多列(联合索引),要遵守最左前缀法则。最左前缀法
如果索引了多列(联合索引),要遵守最左前缀法则。最左前缀法
|
1. SQL 性能分析 1. 查看执行频次 2. 慢查询日志 3. show profiles 4. explain 执行计划 2. 索引使用规则 1. 最左前缀法则 如果索引了多列(联合索引),要遵守最左前缀法则。最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。(查询语句中存在即可,与位置无关)。 如果跳跃某一列mysql表索引,索引将部分失效(后面的字段索引失效)。 2. 索引失效情况一 3. 索引失效情况二 4. SQL 提示 SQL 提示,是优化数据库的一个重要手段,简单来说,就是在SQL 语句中加入一些人为的提示来达到优化操作的目的。 explain select * from tb_user use index(idx_user_pro) where profession = '软件工程'; explain select * from tb_user ignore index(idx_user_pro) where profession = '软件工程'; explain select * from tb_user force index(idx_user_pro) where profession = '软件工程'; 5. 索引使用 单列索引与联合索引 单列索引:即一个索引中包含单个列。 联合索引:即一个索引包含了多个列。 在业务场景中,如果存在多个查询条件,考虑针对于查询字段建立索引时,建议建立联合索引,而非单列索引。 多条件联合查询时,MySQL优化器会评估哪个字段的索引效率更高,会选择该索引完成本次查询。 6. 索引设计原则 在这里插入图片描述 (编辑:吉安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- mysql – 如何在更新后检查值是否已更改?
- mysql – SQL中的多个表或一个超级表?
- 0000-00-00 00:00:00作为MySQL DateTime输入
- 在OSX 10.5上的MySql启动时找不到文件’./mysql-bin.index’
- php – 不了解mysql语句DATE_ADD(NOW()INTERVAL)
- mysql – GROUP_CONCAT更改GROUP BY顺序
- java – JDBC ResultSet是应用程序级查询游标
- MySql,有没有办法将Integer字段转换为Varchar而不会丢失数据
- 有没有合理的理由在TCP / IP上使用Unix套接字和mysql?
- 使用launchctl删除mysql
推荐文章
站长推荐
