多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1、数据库字段中为什么使用越简单的数据类型越好 * * * * * 操作简单的数据类型需要的CPU周期比较少,例如 :因为字符集和校对规则(排序规则)使得字符串比较比整形比较更为复杂,需要更多的CPU周期。 2、为什么要尽量避免使用null * * * * * 可为NULL的列会使用更多的存储空间,在MySQL里也需要特殊处理。当为NULL的列被索引时,每个索引记录需要一个额外的字节,在MyISAM里甚至还可能导致固定大小的索引(例如只有一个整数列的索引)变成可变大小的索引。 3、使用varchar(5)和varchar(200)存储‘hello’的空间开销是一样的,那么使用更短的列有什么优势? * * * * * 更长的列会消耗更多的内存,因为mysql通常会分配固定大小的内存块来保存内部值,尤其是使用内存临时表进行排序或操作时会特别糟糕,在利用磁盘临时表进行排序时也同样糟糕,所以最好的策略是只分配真正需要的空间。 4、为什么要尽量避免使用枚举类型 * * * * * 枚举的字符串列表是固定的,添加或者删除字符串必须使用alter table ,这会导致表重建。 5、为什么一张表内不能创建太多列 * * * * * MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转换成行数据结构的操作代价是非常髙的,转换的代价依赖于列的数量。