首页 > 代码库 > Mysql优化
Mysql优化
做一件事,一般遵循几个原则:为什么做,怎么做,要达到什么目标。
之所以要进行SQl优化,是因为在现有的硬软件资源下,数据库的性能表现未能达到预期。
故要做到在当前硬软件资源不变的情况下,大幅度提高数据库性能,以达到或超出我们的预期。
数据库级别的优化:
是否具有适当的表结构
是否在合适的地主加上了下压角的索引
表是否使用了正确遥存储引擎
是否为表进行了适当的行格式化(如行压缩)
是否使用了正确的锁策略
是否进行了正确的数据缓存
硬件级别的优化:
如果是IO瓶颈,则分布到多块硬盘并行读写。
如果是CPU瓶颈,就需要考虑到集群。
最常用的还是SQL语句优化:
SELECT 语句的优化:
1首先检查是否加了索引。
2d在SELECT中是否使用了耗时函数,需尽量避免
3尤其是大表,尽量避免全表扫描
4更新表的统计信息,使优化器能生成有效的执行计划
5 尽量使SQl趋向于优化器,便于其理解
6对于一个复杂SQL,无法直接使用上述方法,则可通过EXPLAIN 分析其执行计划,然后不断调节
(When you reach a certain level of expertise, reading the EXPLAIN
plan might be your first step for every query.)
7调节Mysql用于缓存的内存区域大小及属性,充分利用InnoDB buffer pool 和MyISAM key cache,及Mysql query cache,对于重复Query可更快执行
8 处理好锁问题。
Mysql优化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。