读书笔记:MySQL数据库 数据类型优化

来源:互联网 发布:软件水平考试成绩查询 编辑:程序博客网 时间:2024/05/27 10:43
关于数据库优化的点,有很多在这里总结一下数据类型的优化。有几个简单的原则可以遵循:
  1. 更小的通常更好
    一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CUP资源,并且处理时需要的CPU更新周期也更少。
  2. 简单就好
    如应该使用MySQL内置的类型,而不是字符串来存储日期和时间,应该用整形存储IP地址。
  3. 尽量避免Null
    很多表都可能包含Null(空值)的列,即使应用程序并不需要保存Null也是如此,通常情况请指定字段不为空,除非特殊的情况下。因为Null对MySQL来说很难优化,使索引、索引统计和值比较都变得复杂。

    数据类型
    整数类型:两种类型的数字整数和实数。
    存储整数,可以使用这几种整数类型:tinyint/smallint/mediuint/int/bigint 分别使用 8/16/24/32/64位存储空间。整数类型有可选的UNsigned属性 ,表示不允许负值。这样可以使整数的上限提高一倍。比如 tinyint 的存储范围是-128~127.而变更Unsigned后存储范围是0~255.

    实数类型指的是带有小数部分的数字。主要类型有decimal/float/double float用4个字节存储,double使用8个字节存储。

字符类型
char 固定长度字符 varchar 可变字符
在比较小的范围内 char 比varchar的效率高 不会产生碎片。
在存储时 char(1) varchar(1) varchar要多占用一个字节 用来记录长度。
varchar不宜过大,过大容易小号更多的内存。
Blog Text 都是为存储很大的数据而设计的字符串类型,分别采用二进制和字符方式存储。
他们分别属于两组不同的数据类型家族:字符类型是tinyText/smalltext/text/mediumtext/longtext;对应的二进制类型分别是tinyBlog/smallblog/blog/

0 0