高性能mysql(一)优化数据类型
来源:互联网 发布:mac gradle 路径 编辑:程序博客网 时间:2024/05/16 04:48
良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema,这往往要权衡各种因素。
一,选择优化的数据类型:
更小的通常更好,简单就好,尽量避免null。越小越简单的数据类型,越是使用更少的磁盘,更低的io,更少的内存,更少的缓存,更少的cpu周期。
varchar和char是两种主要的字符串类型。
varchar用于存储可变长字符串,比定长类型更节省空间,使用1或2个额外字节记录字符串的长度,长度小于255字节使用1个,否则使用2个,varchar节省了存储空间,所以对性能也有帮助。但是由于是变长的,在update时可能比原来更惨,这就导致要做额外的工作。如果一个行中用的空间增长,并在页内没有更多的空间可以存储,这种情况下,innodb需要分裂页来使行可以放进页内。下面这些情况使用varchar是合适的:字符串列的最大长度比平均长度大很多;列的更新很少,使用了像utf8这样复杂的字符集。
char是定长类型,mysql总是根据定义的字符串长度分配足够的空间。char适合存储很短的字符串,或者所有值都接近统一长度,或者经常变更的数据。
blob和text都是为了存储很大的数据而设计的字符串数据类型。
对于uuid或者ip地址等,可以转换成整数或者进行hex编码的,最佳方式是执行编码。
二,mysql schema设计中的陷阱
太多的列,太多的关联,全能的枚举,变相的枚举,非此发明的null。
0 0
- 高性能mysql(一)优化数据类型
- 高性能MySql进化论(一):数据类型的优化_上
- 高性能MySql进化论(一):数据类型的优化_上
- 高性能MySql进化论(一):数据类型的优化_上
- 高性能MySql进化论(一):数据类型的优化_上
- 高性能MySQL-Schema与数据类型优化
- MySQL 高性能优化笔记(一)
- 高性能MySql进化论(二):数据类型的优化_下
- 高性能的MySQL(4)数据类型的优化
- 高性能MySql进化论(二):数据类型的优化_下
- 《高性能MySQL》读书笔记--Schema与数据类型优化
- 【读书笔记】【MySQL高性能】Schema与数据类型优化
- 高性能Mysql——Schema与数据类型优化
- 高性能MySql进化论(二):数据类型的优化_下
- 《高性能MySQL》读书笔记--Schema与数据类型优化
- 高性能MySQL笔记之数据类型和scheme优化
- 《高性能mysql》之Schema与数据类型优化(第四章)
- 高性能mysql(三)选择优化的数据类型
- Effective C++总结(一)
- Python opencv 调用sift
- 包含目录和附加包含目录
- fill_parent、wrap_content和match_parent的区别
- iOS 代码实践总结
- 高性能mysql(一)优化数据类型
- 小强的HTML5移动开发之路(17)——HTML5内联SVG
- ios- 死锁
- Android图片旋转
- 进入实战,开发酷欧天气(一)
- office2010 word 关闭很慢
- Win10家庭版升级至专业版
- HDU5361 In Touch
- .net 简单易懂的扩展方法教程