zoukankan      html  css  js  c++  java
  • SQL优化那些事

    说到sql优化,网上也充斥着各种优化方案。这里总结一下:
     
    一、创建索引
    创建索引是最快速,也是最有效的优化方式。你肯定也听说过,索引并不是越多越好。具体什么时候需要创建索引,什么时候不能创建索引。具体都有什么样的规则:
    首先索引并不是越多越好,要做到宁缺毋滥。一张表中索引数量建议不超过4个
    1》以下情况不考虑创建索引:
    1.更新频繁的表字段,不创建索引
    2.表记录内容较少时,不创建索引
    3.唯一性太差的字段不创建索引
    2》创建索引
    1.经常查询的字段添加索引
    2.表连接的关联字段添加索引
    二、下面说一些语句书写方面的一些优化方式
    经常用到的一些优化方式这里我就不赘述了,下面我着重说一些不太常见的一些优化方式,也是我们经常关注的问题:
    1.先筛选数据后表连接?还是先表连接后筛选数据?
    如果关联条件是主键或是索引字段时,先表连接后删选数据,否则先筛选数据后表连接
    2.表连接大表在前还是小表在前?
    原则:小表驱动大表
    3.先分组还是先表连接?
    问题同1,当有索引的时候先表连接,否则先分组
    4.sql执行顺序问题
    oracle的where语句是从右向左执行的,mysql的where语句是从左向右执行的,建议筛选数据量大的条件放前面执行。
    三、优化准则
    我们在做sql优化的时候是以什么样的准则来进行优化呢?
    sql执行计划是我们进行sql优化的标准,下面这篇是一个sql执行计划的优化标准。
  • 相关阅读:
    python用于web题里写解密脚本
    改变checkbox和radio的默认样式
    div内元素垂直居中
    icheck.js插件
    glyphicons字形图标
    没有内容的span元素下掉问题
    临界区保护
    信号量的使用&生产者消费者问题
    空闲线程和钩子函数
    线程的时间片轮询调度
  • 原文地址:https://www.cnblogs.com/littlezhao/p/9431494.html
Copyright © 2011-2022 走看看