Mysql 性能优化6【重要】 索引优化
2024-08-28 00:41:55
b tree索引
myisam 是通过物理位置来查找引用行的
innodb 是通过主键来查找引用行的
索引优化策略
b-tree索引对数据长度有限制,所以text等比较长的列可以建立前缀索引
btree索引对键值的大小是有限制的
innodb 最大767字节,myisam 1000字节。
大字符串创建索引,不能 很好的提高效率。可以使用前缀索引
为什么选择联合索引
如果同时用到几个列作为查询条件,比每一个列建立单独的索引要快。
什么是覆盖索引
http://wzmtony.blog.163.com/blog/static/20318015620130173619641/
覆盖索引概念:
MySQL可以利用索引返回SELECT 列表中的字段。而不必根据索引再次读取数据文件。包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index)。也就是平时所说的不需要回表操作。
判断标准:
在查询前面使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询。
如果只读取索引就可以查找到所需要的数据的话,就会极大的较少数据的访问量。
处理顺序IO要比随机IO要快
模拟哈希索引步骤
先创建title_md5的列,
然后修改这个字段的值为 MD5(title)
可以创建触发器修改此列
查找的时候
------------------------------------------------------------------------------------------
最新文章
- [LeetCode] Word Pattern 词语模式
- zoom和transform:scale的区别
- How to fix updating ubuntu apt-get problem
- pt-find 使用实例
- nginx跨域处理
- 博客导出工具(C++实现,支持sina,csdn,自定义列表)
- SQL server 数据库备份大
- 利用Runtime实现简单的字典转模型
- git 提交项目代码到码云步骤 以及出现错误解决办法
- vscode插件解析-BookMark
- html5 浏览文件
- tornado 初解
- Python 进程池
- Ubuntu 16.04配置JDK
- vue ie
- Spring PropertyResolver 占位符解析(二)源码分析
- StackGAN 阅读笔记
- myeclipse运行错误
- MikroTik RouterOS网址资源收集
- 在HTML中引用JavaScript中的变量
热门文章
- 树莓派与node.js —— onoff、dht
- php字符编码转换之gb2312转为utf8(转)
- 【leetcode】409. Longest Palindrome
- MySQL中的运算符和时间运算
- XXS level5
- A Word-Complexity Lexicon and A Neural Readability Ranking Model for Lexical Simplification-paper
- RESTful规范(二)
- Linux----版本选择
- SenjuFamily项目总结 之 Activiti 学习总结(一)
- 简单说明 Virtual DOM 为啥快