《高性能MySql》学习笔记 持续更新
来源:互联网 发布:经典都市小说知乎 编辑:程序博客网 时间:2024/05/29 15:05
1.尽量避免NULL
如果查询中包含可为NULL的列,对MySql来书更难优化。
2.浮点类型
无论使用float还是double,MySql使用double作为内部浮点计算
3.Decimal
对Decimal的计算需要额外的计算开销 可以考虑使用bigint代替Decimal,将单位变小
4.varchar(5)和varchar(200)存储’hellow’
他们的存储来显是一样的,但是varchar(200)会消耗更多的内存MySql通常会分配固定大小的内存块来保存
部值(内部临时表)
5.BLOB TEXT
Innodb使用外部存储区域进行存储,表中需要一个1~4字节存储一个指针,外部存储实际值
6枚举类型
表中存的是一个hash的索引值 是整数型 因此使用该类型会使表的大小减少
7.TIMESTAMP
特性:默认情况下,如果插入时没有指定第一个TIMESTAMP列的值,MySql则会设置这个列的值为当前时间,在插入一条记录时,MySql会默认更新第一个TIMESTAMP列的值,TIMESTAMP列默认NOT NULL 比DATATIME更高效
8.使用联合索引
更具MySql的特性,只能从左到右的使用联合索引,而且不能跳过缩影中的列,如果查询某个列是范围查询,
且该范围是数量有限的,可以使用对个等于条件来代替范围条件
9.hash索引只支持等值查询
10.索引优化
当出现服务器对多个索引做相交操作时(通常是多个and),通常意味着需要一个包含所有相关列的多列索
引,而不是多个独立的单列索引
当服务器需要对多个索引做联合操作时(通常是多个or),通常需要消耗大量CPU和内存资源在算法的缓存
、排序和合并操作上。特别是当其中有些索引的选择性不高。需要合并扫描返回的大量数据的时候
- 《高性能MySql》学习笔记 持续更新
- MySQL高性能学习笔记
- MySql笔记【持续更新】
- MySql笔记【持续更新】
- 高性能MySql学习笔记(一)
- 高性能MySQL学习笔记(二)
- mysql高性能学习笔记整理
- 高性能MySQL学习笔记(2)
- 《高性能MySQL》学习笔记一
- 《高性能MySQL》学习笔记二
- 《高性能MySQL》学习笔记三
- 《高性能MySQL》学习笔记四
- 高性能Mysql学习笔记之第一章
- 高性能mysql笔记
- MySql高性能笔记
- 高性能mysql笔记
- 高性能 MySQL 笔记
- 【学习笔记】《高性能MYSQL》对性能优化定义
- FJ的字符串
- Thinking in java-21 单例模式和委托模式
- Warp-CTC
- My97DatePicker时间控件的引用
- linux 流编辑器(stream editer)sed 用法
- 《高性能MySql》学习笔记 持续更新
- JQUERY实现下拉菜单
- ARP协议(ARP脚本抓取主机MAC的实现)
- JavaBean & super & this
- Android实现webview
- 数学问题——找“自守数”
- 日语语法(五):副词
- grep 命令详解
- 算法第4版(谢路云译)学习笔记(3) -- 字符串连接操作的时间复杂度