mysql数据类型优化
2016-03-06 00:00
453 查看
我把mysql数据类型优化总结为下面几点:
1,字段选择合适的范围,例如存一个0~200,选择tinyint unsigned会更好,更小的范围会减少磁盘,内存占用空间,并且占用CPU的周期也更小
2,字段选择简单合适的数据类型,简单的数据类型通常需要更少的CPU周期,例如,整型比字符串操作代价更低,这里举两个例子,使用mysql内建类型(date,time,dateTime,timestamp)而不是字符串来存储日期或时间,使用整型类型而不是字符串类型来存储IP地址
3、尽量避免设置为null的列,通常情况下,not null比null在性能上并没有提升多少,但是,如果该列需要使用到索引,就应该避免设置为null。当null列被索引时,每一个索引记录需要一个额外的字节,在MyISAM里甚至还可能导致固定大小的索引变成可变大小的索引。但是对InnoDB来说却有很好的空间效率(InnoDB使用单独的位bit存储Null值)。
参考《高性能mysql》
1,字段选择合适的范围,例如存一个0~200,选择tinyint unsigned会更好,更小的范围会减少磁盘,内存占用空间,并且占用CPU的周期也更小
2,字段选择简单合适的数据类型,简单的数据类型通常需要更少的CPU周期,例如,整型比字符串操作代价更低,这里举两个例子,使用mysql内建类型(date,time,dateTime,timestamp)而不是字符串来存储日期或时间,使用整型类型而不是字符串类型来存储IP地址
3、尽量避免设置为null的列,通常情况下,not null比null在性能上并没有提升多少,但是,如果该列需要使用到索引,就应该避免设置为null。当null列被索引时,每一个索引记录需要一个额外的字节,在MyISAM里甚至还可能导致固定大小的索引变成可变大小的索引。但是对InnoDB来说却有很好的空间效率(InnoDB使用单独的位bit存储Null值)。
参考《高性能mysql》
相关文章推荐
- day06 mysql加强
- 访问阿里云mysql数据库
- 访问阿里云mysql数据库
- 在32位Win7下安装MySQL5.7.10安装配置过程
- 业内大神浅谈MYSQL联合查询
- 21分钟 MySQL 入门教程
- MySQL C API programming tutorial
- mysql驱动引起的jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'问题解决
- 可能安卓就是连不上mysql吧
- 如何使用命令查看MYSQL的版本信息
- mysql乱码
- 安装mysql5.5 解压
- mysql阅读笔记七
- MYSQL数据库的优化
- VS2013使用EF6与mysql数据库
- VS2013 EF6连接MySql需要几步?
- VS2012+EF6+Mysql配置心路历程 - GameMan
- mysql开放远程连接
- mysql explain 执行计划解读
- Mysql limit 分页机制和优化实例