SQL优化的一些方法

作者: lothar_cly | 来源:发表于2016-06-23 15:58 被阅读320次
SQL优化的一些方法

1.在查询过程中,尽量避免全表扫描,考虑在whereorder by涉及的列上建立索引。
2.尽量避免在where子句中对字段进行NULL的判断,建议不使用NULL,因为在查询的时候NULL是不会通过索引来检索的,他会放弃使用索引而进行全表扫描。
3.尽量避免查询条件中使用like关键字,像%…%%...这样的条件是没有办法使用索引的。使用的是全表扫描,还有就是由于匹配算法的关系,like的字段长度越大,模糊查询的效率越低。并且优化空间很小。
4.不要在where子句中使用!=<>操作符。原因同上,放弃索引,使用全表扫描。可以使用or来修改。
�6.or有时候也会导致全表扫描,一个字段有索引,一个字段上没有索引,在使用or的查询的时候也会导致全表扫描。
7.避免对字段进行表达式操作或者函数操作。
8.update操作,如果只更改1、2个字段的话,不要修改所有字段。否则频繁调用会引起明显的性能消耗,同时带来大量日志。
9.连接的使用,在使用表join的时候,如果有分页的话,先分页在join。否者逻辑上的读写会很高,性能很差。当然要考虑分页前后的消息展示是否会因为join进行缺失。可能会导致两个操作方式显示的结果不一致。很有可能不一致。
10.不带任何条件的count函数,会引起全表扫描?也就是说count(*)count(id)是有区别的么?不同MySQL的版本这个函数的性能不一样。
11.�索引的类型(BTREE,RTREE,HASH,FULLTEXT)。索引也并不是越多越好,可能在查询的时候很方便,但是在插入和修改操作的时候,可能会出现索引重建的情况。所以索引的使用也要看具体的情况。索引太多了需要考虑哪些不常使用的索引是否有存在的必要,或者使用别的解决方法。
12.拆分大的delete或者insert语句,可以使用批处理,同时这两个操作会出现锁表的情况。
13.尽量避免使用大的事务,控制事务的粒度。能提高系统的并发能力。

参考文章:[数据库SQL优化大总结之 百万级数据库优化方案]
加上了部分自己的总结

部分比较好用的MySQL的相关操作,简单记录

设置终端MySQL的编码。
set names"utf8";

输出查询结果到文件
into outfile '/tmp/a.csv'

相关文章

  • SQL优化

    SQL优化 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有...

  • face19 mysql查询优化

    mysql查询优化 sql语句优化的一些方法 先说明如何定位低效sql语句,然后根据低效原因做排查,先从索引着手,...

  • sql如何进行优化

    sql如何进行优化 sql优化的一些方法: 尽可能的少用*,用所需要的字段来代替 *。 在一些需要查询的字段建立索...

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • SQL优化的一些方法

    SQL优化的一些方法 1.在查询过程中,尽量避免全表扫描,考虑在where和order by涉及的列上建立索引。2...

  • SQL优化的一些方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。2.应尽量避免...

  • msyql 常用sql优化方法

    SQL查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结一些方法,供大家参考。 对查...

  • 常见的sql优化的几种方法

    在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参...

  • sql优化的几种方法

    在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参...

  • sql优化

    sql优化 关于sql优化,面试中经常被问道,由于本人也是小白一枚,请大家对我宽容点下面是我整理的一些sql优化措...

网友评论

  • eb33a16f9420:请教个问题,针对类似于性别这类字段,是否有必要加索引(整个表的数据量大概6000W左右,会经常使用到该字段与其他字段一起作为查询条件,而且会根据该字段为唯一条件进行数据删除),请赐教。
    eb33a16f9420: @lothar_cly 针对性别类的字段(唯一值大概有四十个,整张表数据库大概6000W),使用该字段作为唯一条件进行删除时,有什么比较好的处理方式,除了您上边提到的拆分法外。请赐教。
    lothar_cly:@易水若寒 性别字段 个人觉得是没有必要检索的,值唯一性太小,假如一半是男一半是女 建个索引也就没有必要了。

本文标题:SQL优化的一些方法

本文链接:https://www.haomeiwen.com/subject/uutodttx.html