sql语句优化

原创 2016年08月30日 22:30:28

        在sql里面有很多优化技巧,有时候能够实现相同功能的两段sql语句,查询性能却不相同,因此掌握一些高效的sql代码还是很有必要的。


      一、查询优化


          1. 减少记录集行数,避免select * 


          2. 使用exist代替in,例如:Select sno from stu where exist(select * from grand where sno=stu.sno)


          3. 使用>=而不是>,添加等于后比较直接锁定最小或最大值,只写>, 则数据库会逐行进行比较。


          4. 使用索引,但不要在索引上进行计算,当遇到or时索引失效,使用union代替or


         5. 只查询一条数据的时候使用limit 1这样会使搜索到数据后继续进行搜索


         6. 避免使用rand(),当查询数据想要乱序的时候,可以先生成一个随机数: 

                   select userName from user limit $rand,1;


         7. 查询join要使用小的结果集驱动大的结果集


         8. 尽可能少使用子查询,子查询的过程会在内查询中先建立临时表,查询完成后删除临时表


     二、  从建库角度分析数据库优化策略


         1.优化数据库结构,将数据库字段多的表水平划分多个表


         2.  数据插入前禁用索引后开启:

                  ALTER TABLE table_name DISABLE KEYS ;

                  ALTER TABLE table_name ENABLE KEYS ;


         3. 使用批量插入语句:能使用LOAD DATA INFILE 语句就尽量使用,不能使用可以选择:

                 ALTER TABLE table_name ENABLE KEYS ;


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JAVA(SQL语句的优化)

  • 2017年10月20日 18:05
  • 2.29MB
  • 下载

sql语句优化原则

  • 2013年12月26日 15:39
  • 16KB
  • 下载

Sql语句优化-查询两表不同行NOT IN、NOT EXISTS、连接查询Left Join

在实际开发中,我们往往需要比较两个或多个表数据的差别,比较那些数据相同那些数据不相同,这时我们有一下三种方法可以使用:1. IN或NOT IN,2. EXIST或NOTEXIST,3.使用连接查询(i...

my脚本ok,需要优化的sql语句

  • 2014年07月17日 08:24
  • 979KB
  • 下载

SQL语句优化原则

  • 2012年12月12日 10:28
  • 5KB
  • 下载

性能优化——SQL语句(续)

上篇博客介绍了一下自己在项目中遇到的一种使用sql语句的优化方式(性能优化——SQL语句),但是说的不够完整。在对比的过程中,没有将max函数考虑在内,经人提醒之后赶紧做了一个测试,测试过程中又学到了...

SQL语句性能优化

  • 2013年02月18日 23:01
  • 23KB
  • 下载

Oracle中SQL语句优化原理分析

  • 2012年10月23日 21:24
  • 55KB
  • 下载

2. SQL 语句本身的优化(慢查询)

MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息。其中的session来表示当前的连接的统计结果,global来表示自数据库上次...
  • enlyhua
  • enlyhua
  • 2016年04月03日 14:08
  • 2018

彻底优化 PL/SQL 语句

  • 2006年02月23日 09:05
  • 104KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql语句优化
举报原因:
原因补充:

(最多只允许输入30个字)