mysql调优

来源:互联网 发布:caffe官网教程 编辑:程序博客网 时间:2024/06/03 18:36

mysql调优参考威哥公众号——威哥爱编程。

一、在数据库查询的时候避免使用模糊查询。例如:selectstudent_name from student where student_name like '%查询条件%'.

这样查询会导致相关列的索引无法使用。

建议的方式:

1)在前台将需要模糊查询的条件列出来,然后将具体查询的值传给后台。例如:查询一个课程 :在前台直接给一个下拉列表的形式,这样就会将具体的值传给后台,可以保证查询的数值是具体的值。

  2)先根据查询的条件在后台查找相关的数据生成一个临时数据,在把这个数据当做条件当做表的连接条件在进行复杂查询。

二、索引问题,在设计表的时候给查询的字段添加索引,当数据量比较少的时候添加索引好像无关紧要,但是当数据量比较大的时候,索引就显得比较重要了。

建立索引以后不要进行一下操作:

避免对索引的字段进行计算操作

避免在索引字段上使用not,<>!=

避免在索引列使用is null 和 is not null

避免在索引列上出现数据类型转换

避免在索引的字段上使用函数

避免在索引的列上使用null值

三、复杂操作

一些比较复杂的sql语句,可以考虑拆成记录,生成几个临时数据,在进行查询。

更新类似相同语句的脚本,可以写成一个脚本。

四、update语句

例如:update 表1 set 字段1 = “xxx” where 字段2=“…” ,具有相类似的结构,可以合成一个update完成。

五、能用union all 就别使用union

六、条件查询的时候避免对条件进行计算操作。条件查询避免使用in not in,可以使用exist not exist来代替 in和not in,可以使用表连接 可以使用表链接来代替。Having可以使用where代替。不能代替,可以将表分成多步查询。

七、select 查询的时候具体到字段。

 

 

0 0
原创粉丝点击