栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

IT老齐架构300讲笔记(036) 阿里开发规范解读,小心MySQL索引选择性陷阱

IT老齐架构300讲笔记(036) 阿里开发规范解读,小心MySQL索引选择性陷阱

目录

一、什么是索引选择性陷阱

1.1 InnoDB的存储结构

1.2 头匹配,尾匹配与任意匹配

1.3 索引选择性太差导致全表扫描

二、索引选择性差的场景

三、索引选择性差的解决方法

3.1 通过组合索引提高选择性

3.2 引入搜索引擎

3.3 强制使用索引

3.4 增加缓存,提高全表扫描速度 

专栏链接:IT老齐架构300讲笔记专栏


一、什么是索引选择性陷阱

1.1 InnoDB的存储结构

1.2 头匹配,尾匹配与任意匹配

1.3 索引选择性太差导致全表扫描

命中的索引值超过总量25%,就可能产生索引选择性陷阱,导致全表扫描

二、索引选择性差的场景

三、索引选择性差的解决方法

3.1 通过组合索引提高选择性

通过组合索引提高选择性(业务相关)

select * from 护士表 where 科室=’妇科’ and 性别=’女’

3.2 引入搜索引擎

如Es或者Solr(更换数据源)

例如:将护士表导入ElasticSearch,Es基于分片多线程检索,解决查询慢的问题

3.3 强制使用索引

强制使用索引(有时会有奇效,以实际运行效果为准)

explain select * from question force index(answer) where answer = 'A'

3.4 增加缓存,提高全表扫描速度 

增加缓存,提高全表扫描速度(钞能力)

innodb_buffer_pool_size=16G

innodb_buffer_pool_instances=2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/706220.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号