| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> mysql索引实践(二) -> 正文阅读 |
|
[大数据]mysql索引实践(二) |
一、 CREATE TABLE `employees` ( 1.全值匹配 ? ?2.最左前缀法则 如果存在索引多列,要遵守最左前缀法则。 3.不在索引列上做任何操作计算,会导致索引失效转向全表扫描。 添加一个索引:? ALTER TABLE `employees` ?ADD INDEX `idx_hire_time` ( `hire_time` ) USING BTREE; 转为范围查找会走索引: 4.存储引擎不能使用索引中范围条件右边的列 ? ? 5.尽量使用覆盖索引,减少select * ? ? 6.使用不等于会导致全表扫描。 ? 7.isnull,isnotnull也无法使用索引? 8.like以通配符开头会导致全表扫描。 ? ? 解决like'%字符串%'索引不被使用的方法?使用覆盖索引 ? 9.字符串不加单引号会导致索引失效 ? 10.?10.少用or或in,用它查询时,mysql不一定使用索引,mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引。 11.范围查询优化 给年龄添加单值索引? ALTER TABLE `employees` ADD INDEX `idx_age` ( `age` ) USING BTREE; 没走索引原因:mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引。比如这个例子,可能是由于单次数据量查询过大导致优化器最终选择不走索引优化方法:可以讲大的范围拆分成多个小范围 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:54:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |