mysql优化怎么做的?

来源:互联网 发布:慈溪行知职高论坛 编辑:程序博客网 时间:2024/06/11 15:46


mysql优化主要从以下几个方面来实现:


  ①设计角度:存储引擎的选择,字段类型选择,范式

  ②功能角度:可以利用mysql自身的特性,如索引,查询缓存,碎片整理,分区、分表等

  ③sql语句的优化方面:尽量简化查询语句,能查询字段少就尽量少查询字段,优化分页语句、分组语句等。

  ④部署大负载架构体系:数据库服务器单独出来,负载大时可以采用主从复制,读写分离机制进行设计

  ⑤从硬件上升级数据库服务器。



sql语句的优化


答:首先我们得确定哪些sql语句需要优化,一般在一个系统中,查询语句最多,所以我们主要是针对查询语句进行优化。主要采用两种方式来确定要优化的sql语句:

   ①使用慢查询日志,设置需要优化的sql语句的执行时间,记录下超过该设置时间的语句,即为需要优化的语句。

   ②使用profiling机制,记录下每条sql语句的执行时间,找出执行较慢的语句,即为需要优化的语句。

   我们主要通过给表字段添加索引的方式进行优化,加上索引后,sql语句的执行时间显著提高了,但并不是加上索引了这条sql语句就会用到索引,所以首先看执行慢的语句后面是否有加索引,我们可以使用explain或者desc加在要执行的sql语句前,查看是否使用到索引。有几个地方需要注意的是:

  ①为了避免建议索引而造成索引文件过大,有时候我们会使用复合索引,这时候要遵循最左原则。

  ②like查询,前%不会用到索引。

   ③如果条件中有or,则要求or的索引字段都必须有索引,否则不能用到索引。
   ④如果列类型是字符串,一定要在条件中将数据使用引号引用起来,否则不使用索引。
   ⑤优化group by 语句
   ⑥尽量避免模糊匹配,这样会导致全盘扫描

原创粉丝点击