用好列类型是使MySQL数据库高效运行的必要条件。通常,你应该尽可能选择较小的列类型,这样既可以节省空间,又可以更快地进行访问和更新。然而,如果选择的类型太小,则不能满足需求,并且会导致数据丢失。因此,列类型的设置在数据库设计中至关重要。MySQL的列类型大致可分成三类:数字、字符串和日期。关于各种列类型的详情这里不多说,可见《MySQL的列类型简介》。下面则说一说使列类型设置最优的一些基本原则。

数字列类型

  数字列类型用于储存各种数字数据,在使用数字列类型时可以遵循下面的原则:

  • 选择最小的可用类型。比如说,某列的数值永远在-128到127之间,那么TINYINT强于INT。
  • 对于纯数字的资料,选择整数类型。比如QQ号码如果用整数类型,则效率较高。
  • 对于高精度,使用整数类型而不使用浮点类型。

字符串列类型

  字符串列类型可用于保存任何字符数据,是最常用的类型。优化字符串类型时,原则也较多。

  • 不要使用字符串类型存储纯数字资料。因为数字类型是以位保存的,而字符串类型则是以字节保存的。而且,对于纯数字资料,数字类型在排序时效率更高。
  • 固定长度的字符串类型,如CHAR等,具有较高的速度
  • 动态字符串类型,如VARCHAR,更加节省空间
  • CHAR和VARCHAR等列类型在被检索时,大小写不相关,除非加上BINARY关键字
  • TEXT类型在被检索时,大小写不相关
  • BLOB类型在被检索时,大小写相关
  • 尽可能把图像和其它二进制对象保存在文件系统中,而非数据库内。

日期和时间列类型

  这类列类型用于保存日期和时间数据,它们是保存完整的14位日期和时间时信息的,因此,改变列宽不会造成数据丢失。


评论

该日志第一篇评论

发表评论

评论也有版权!

click to change验证码