十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
表统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。
创新互联成立于2013年,先为宁德等服务建站,宁德等地企业,进行企业商务咨询服务。为宁德企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
非持久化统计信息
统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;
每次对表的访问都会重新计算其统计信息;
假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。
持久化统计信息
把一张表在某一时刻的统计信息值保存在磁盘上;
避免每次查询时重新计算;
如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;
即使 MySQL 服务重启,也可以快速的获取统计信息值;
统计信息的持久化可以针对全局设置也可以针对单表设置。
接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。
避免全表查询,建立索引。order by
优化你的sql语句。
在where子句中尽量避免区域查询,例如不等于,大于小于之类的操作符
like语句也会导致全表查询
等等
优化下mysql的参数
如果是linux下是修改my.cnf
innodb_buffer_pool_size
innodb_additional_mem_pool_size
innodb_log_buffer_size
这些都修改大些,如果前面有#就把#去掉