(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】使用中间表提高统计查询速度
  对于数据量大的表,在其上进行统计查询通常效率很低,并且还要考虑统计查询是否会对在线的应用产生负面影响。
  这种情况,使用中间表可以提高统计查询的效率。
  即-》把需要统计的数据转移-》中间表-》得出想要的结果

  
      

 



 

posted @ 2019-04-08 16:49  郭大侠1  阅读(202)  评论(0编辑  收藏  举报