MySQL Schema 优化(设计优化)


 

逐步对 schema 做修改— 一个小的变化将产生的巨大的影响。在开发环境测试所有 schema 变动,而不是在生产环境的镜像上去做。

 

1、保证你的数据库的整洁性。

 

2、不要过度使用索引,评估你的查询。

 

3、尽量不要使用text blob 数据类型, 压缩 text blob 数据类型为了节省空间,减少从磁盘读数据。(则将 blob/text 数据域其他数据分离。)

 

4、UTF 8 和 UTF16 比 latin1 慢。

 

5、有节制的使用触发器。

 

6、使用链接表,而不是扩展行[这个具体问题具体分析把]。

 

7、注意你的数据类型,尽可能的使用最小的(字段属性尽量都加上NOT NULL约束,可一定程度提高性能)(能用整形不用文本,能用枚举不用整形)

 

8、有时,增加列时,先删除索引,之后在加上索引会更快。

 

9、为不同的需求选择不同的存储引擎。

 

10、日志表或审计表使用ARCHIVE存储引擎写的效率更高。

 

11、将 session 数据存储在 memcache 中,而不是 MySQL memcache 可以设置自动过期,防止MySQL对临时数据高成本的读写操作。

 

12、如果字符串的长度是可变的,则使用VARCHAR代替CHAR — 节约空间,因为CHAR是固定长度,而VARCHAR不是(utf8 不受这个影响)。

 

13、存储精确浮点数必须使用decimal,替代使用floatdouble.(float大于等于8位不准确,double大于16位不准确)

 

 

你可能感兴趣的:(mysql数据库)