如果要对日志进行统计和分析,则会随着日志数量增加,性能显著下降,但这里没有这样的需求,即使有,也是用另外一组离线分析服务器进行处理。
一、优化表的数据类型select * from tablename procedure analyse()
select * from tablename procedure analyse(16.265)
上面输出一列信息,牟你数据表的字段提出优化建义,
二、通过拆分表提高数据访问效率
拆分一是指针对表进行拆分,如果是针对myisam类型的表进行处理的话,可以有两种拆分方法
1、是垂直拆分,把主要的与一些散放到一个表,然后把主要的和另外的列放在另一张表。
2、水平拆分方法,根据一列或多列的值把数据行放到两个独立的表中,水平拆分通常几种情况。
表很大,拆分后可降低查询时数据和索引的查询速度,同时也降低了索引的层数,提高查询的速度。
表中的数据本来就有独立性,表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,厕国一些数据不常用的情况下,
需要把数据存放到多个不同的介质上。
三、逆规范化
四、使用中间表优化方法对于数据库教程大的表,在进行统计查询时通常会比较慢的,并且还要考虑查询是否会对在线应用产生影响,通常这种情况下我们使用中间表可以提高查询统计速度
水平折分为的目的是什么,要明确,要不然,就失去了意义。简单的说,就是把常用的字段放到一个表里,不常用的放到一个表里,经常进行单表查询,而不是大多数使用关联,如果使用关联的地方太多,你的拆分就不合格像你说的这种情况,把需要登陆验证的字段放到一个表里,这个就不用关联了,才能体现拆分的效率,只有在修改用户修改的时候,你可以进行全表处理,或者,再进一步,不同表的信息进行不同的提交,分步去修改信息,这样更能提高效率。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)