论坛首页 综合技术论坛

MySQL备忘录(一)

浏览 1949 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-27  

1、设计时尽量避免NULL类型的Column,因为Mysql对带有null值的Column优化要难些,尽量使用0或者空字符代替null

2、TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别是8,16,24,32,64位的int,INT(20)中的20没有任何意义,只是在mysql 交互工具显示的长度限制。

3、varchar, char:varchar是变长,实际存储长度比实际数据长度多1~2位,用于存储字符长度,适合于最大长度远大于平均长度的类型。5.0以后的mysql保留varchar数据的trailing space. 4.0以前的版本去除,对于字符长度更新后的变化,各个引擎实现有所不同。char定长,用于存储短字符

4、TINYTEXT,SMALLTEXT, TEXT, MEDIUMTEXT,  LONGTEXT,同样也有对应的BLOB,TEXT 和BLOB唯一的区别是:BLOB类型无字符集和校对。对这两种类型进行sort时,MYSQL只sort max_sort_length的内容,可以用show variables like 'max_sort_lenght'来查看server的设置。

5、ENUM:MYSQL使用integer来索引ENUM字符,查询时,首先得到索引,类似id,再去找对应的字符。join CHAR OR VARCHAR类型的column到enum要慢些

6、DATETIME && TIMESTAMP:DATATIME可以存储1001-9999年,精确到秒,8B存储空间;TIMESTAMP 4B存储空间,1970-2038年,依赖于时区,默认情况下,MYSQL在插入时填充当前时间,update时更新

 

TO BE CONTINUED……

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics