(1.13)mysql优化数据库对象
(1.13)mysql优化数据库对象
1、mysql优化数据库对象
【1.1】数据库对象类型优化 select * from test1 procedure analyse(); select * from test1 procedure analyse(16,256); --不要为那些多余16个或者256个字节的ENUM类型提出建议。如果没有这样的限制,输出信息可能会很长;enum定义通常很难阅读
【1.2】通过水平/垂直拆分提高表的访问效率
【1.3】逆规范化(一般指的是根据业务需求来设定范式)
(1)增加冗余列:指在多个表表中具有相同的列,它常用来在查询时避免连接操作
(2)增加计算列/派生列:指增加的列来自其他表中的数据,由其他表中的数据经过计算生成。作用是在查询时减少表连接操作,避免使用集函数。
(3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这2个表重新组成一个表来减少连接而提高性能。
【1.4】使用中间表提高统计查询速度
对于数据量大的表,在其上进行统计查询通常效率很低,并且还要考虑统计查询是否会对在线的应用产生负面影响。
这种情况,使用中间表可以提高统计查询的效率。
即-》把需要统计的数据转移-》中间表-》得出想要的结果