欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql简单性能优化

程序员文章站 2022-04-14 12:46:38
...

查看性能参数

通过下面的sql可以看到数据库的一些性能参数:

show status like 'param'

param可以取得值有:

Connections连接mysql服务器的次数

Uptime服务器上线时间

Slow_queries慢查询的次数

Com_select查询操作的次数

Com_insert插入操作的次数

Com_update更新操作的次数

Com_delete删除操作的次数

索引对查询的影响

1.使用like模糊查询

如果where条件中用like模糊查询,like ‘%abc’索引是不会起作用的,只有%不在第一个位置上索引才会起作用。

2.使用联合索引查询

要注意最左前缀规则,就是如果字段a、字段b、字段c为联合索引,只有where条件中包含字段a时才会起作用。

3.使用or关键字查询

or前后的两个条件都是索引的时候,索引才会起作用,查询效率才会提升

优化子查询

查询的时候尽量避免使用子查询,因为子查询会先把结果生成到一张临时表,再进行主查询。可以使用join连接代替子查询。

优化数据库结构

数据库结构涉及到库表涉及

1.库表不要设计太多字段,如果domain对象属性太多,可以拆成多张表

2.对于经常要联合查询的表可以建立中间表来提高效率

比如学生表中存有班级id,如果需要查询用户姓名和班级姓名,需要join操作。这种情况下可以新建一张表存储学生id、学生name、班级name,查询的时候就不需要join了,直接查询该表就行。

3.增加冗余字段

比如订单表中本来包含产品ID,但是把产品name也冗余进来,就可以在展示订单的时候,展示产品name。

分析表检查表优化表

1.分析表

analyze [local | no_write_to_binlog] table table_name

[]里面的参数是相同的作用,表示分析表的时候不写入日志。

2.检查表

check table table_name

3.优化表

optimize  [local | no_write_to_binlog] table table_name

主要用于消除删除和更新造成的文件碎片。

 

上一篇: apr-util

下一篇: 性能优化实战-2