用好列类型是使MySQL数据库高效运行的必要条件。通常,你应该尽可能选择较小的列类型,这样既可以节省空间,又可以更快地进行访问和更新。然而,如果选择的类型太小,则不能满足需求,并且会导致数据丢失。因此,列类型的设置在数据库设计中至关重要。MySQL的列类型大致可分成三类:数字、字符串和日期。关于各种列类型的详情这里不多说,可见《MySQL的列类型简介》。下面则说一说使列类型设置最优的一些基本原则。
数字列类型
数字列类型用于储存各种数字数据,在使用数字列类型时可以遵循下面的原则:
- 选择最小的可用类型。比如说,某列的数值永远在-128到127之间,那么TINYINT强于INT。
- 对于纯数字的资料,选择整数类型。比如QQ号码如果用整数类型,则效率较高。
- 对于高精度,使用整数类型而不使用浮点类型。
字符串列类型
字符串列类型可用于保存任何字符数据,是最常用的类型。优化字符串类型时,原则也较多。
- 不要使用字符串类型存储纯数字资料。因为数字类型是以位保存的,而字符串类型则是以字节保存的。而且,对于纯数字资料,数字类型在排序时效率更高。
- 固定长度的字符串类型,如CHAR等,具有较高的速度
- 动态字符串类型,如VARCHAR,更加节省空间
- CHAR和VARCHAR等列类型在被检索时,大小写不相关,除非加上BINARY关键字
- TEXT类型在被检索时,大小写不相关
- BLOB类型在被检索时,大小写相关
- 尽可能把图像和其它二进制对象保存在文件系统中,而非数据库内。
日期和时间列类型
这类列类型用于保存日期和时间数据,它们是保存完整的14位日期和时间时信息的,因此,改变列宽不会造成数据丢失。
归类于: 4.Database — 刘铭 @ 7:31 pm 评论(0)

发表评论