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

    1.关键字段建立索引。
    2.使用存储过程,他使sql更加灵活高效。
    3.备份数据库合情理垃圾数据
    4.sql语句的语法的优化
    5.清理清除日志

    1.用 union all代替or
    2.建立索引
    3,避免隐式转换,导致素引失效
    4.视图的优化:结合业务逻辑,考虑创建物化视图,通过其中间存储来消除不必要的全表扫描。(有局限)业务需求是否允许足够的刷时间。
    5.当sql中有排序时,通过创建排序索引优化sql
    6,from2张表时,数据条数最少的表放在最后,即将基础表放到最后
    例:tab1 1000条 tab2 1条
    最优策路: select count(*) from tab1,tab2;
    7.3个以上的表连接,将交叉表作为基础表放到最后
    例:sys_uer用户表, sys_org 机构表,sys_user_org 用户机构关系表(即交叉表)
    select * from sys_ user a, ays_org b , ays_ user_org c where c.user_org_id between 1000 and 2000 and c.user_id=a.user_id and c.org_id=b.org_id;
    8. where条件子句中的链接顺序
    采用从后往前的顺序解析 where子句,所以表之间的链接必须写在其他where条件之前,那些可以过滤掉最大数量记录的条件必须写在where子句的末尾,同时在链接的表中能过滤的就先过滤
    例如: select ... from emp e where 25 < (select count(*) from emp where mgr = e.empno ) and sal > 50000 and job = 'manager';
    9.避免select * 的使用
    10.尽量使用 commit
    11. count(*)比 count(1)稍快,当表的ID列有素引。count(ID)是最快的
    12.用 where子句替换 havind子句
    select region, avg( log size) from location where region !='sydney' and region !=' perth' group by region; --高效
    select region, avg( log size) from location group by region having region !=' sydney' and region!=' perth' --低效
    13.通过内部函数提高sql效率。
    14.使用表的别名
    15,用exist代替in
    16,用 not exists 代替 not in
    17.使用表链接代替 exists
    18.避免在索引列上使用计算
    select .... from dept where sal* 12>25000; 一低效
    select ... from dept where sal > 25000/12; --高效
    19 .用>=代替>
    20.用in替换or
    21,选免在索引上使用is null 和1= is not nuIl
    22.带有 distinct, union, minus, intersect, order by的sql语句会启动q1引擎,执行耗费资源的排序功能,distinct需要一次排序,其他至少需要两次排序。

  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/quyangyang/p/11173448.html
Copyright © 2011-2022 走看看