锁定老帖子 主题:MySQL备忘录(一)
精华帖 (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…… 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1953 次