zoukankan      html  css  js  c++  java
  • sql优化

    QS:SQL优化需要注意哪些点?

      1、尽量将被查询字段写出来,尽量避免例如:select * from table_name;如果使用*,数据库需要查询数据字典才能获取表中所有字段,这样会消耗时间。

      2、被排序字段,也可以加索引,例如:order by  column1,column2,这样直接使用索引去排序,会大大提高效率。

      3、对于使用模糊查询的字段,尽量给该字段加索引,但前提是like后第一位不能是%,否则不会使走索引,对该列全局匹配。尽量使用例如:select column1,column2 from table_name where column3 like 'xxx%'。

             4、如果可以,使用rowid查询效率最高。原因rowid组成:对象ID(OBJECTID)+文件ID+块ID+ROWID

    CASE:复制1000万行emp数据,在建立索引前后查询时间对比。

     复制emp1表,重复插入数据,开启计时:

    create table emp1 as select * from emp1;
    insert into emp1 select * from emp1;    
    set timing on;
    select * from (select * from emp3 order by empno)t where rownum <=10;

    `

    给被排序的字段加索引,查询并计时:

    create index emp1_index on emp1(empno);
    select * from (select * from emp3 order by empno)t where rownum <=10;

    Best Regards
  • 相关阅读:
    [转]MYSQL5.7版本sql_mode=only_full_group_by问题
    [坑]Linux MySQL环境表名默认区分大小写
    [转]CentOS 7.3 安装MySQL
    [转]Oracle截取字符串相关函数
    服务相关
    CSRF攻击
    sqlalchemy——多表操作
    sqlalchemy——基本操作
    高可用——网站运行监控
    高可用——软件质量保证
  • 原文地址:https://www.cnblogs.com/pecool/p/9726366.html
Copyright © 2011-2022 走看看