时间:2021-07-01 10:21:17 帮助过:10人阅读
应该使用mysql 的内建类型而不是选择字符串来进行存储日期和时间,也应该使用整形来存储ip地址。
尽量避免NULL
而且应该避免使用null类型,因为NULL对MySQL来说会更难进行优化,null列会使得索引、索引统计、和值比较发生更为复杂的变化,并且为null的列会使用更多的储存空间在MySQL中也需要更特殊的处理,当null被索引的时候
每个索引记录会需要一个额外的字节,在myisam 中甚至会导致固定大小的索引(例如只有一个整数列索引)变成可变大小的索引。通常null的列改为not null 带来的性能提升比较小,所以(调优时)没有必要首先在现有的数据表
中查找并且修正 ,除非确定这块会导致问题,但是在计划创建索引的列中,就应该尽量避免设计成null列,但值得一提的是在innodb中使用进行null列的存储是使用单独的位(bit)进行存储null 的值,在大量出现null 的情况,有很好
的空间效率。但这点不适用于myisam。
如何为MySQL选择更合适的数据类型
标签:设计 ip地址 color 准则 效率 一个 使用进行 固定 数据