zoukankan      html  css  js  c++  java
  • SQL优化经验谈

    1.使用索引查找
      对数据最快进行查找的方法是使用索引,如果要取出其他的列,sql会使用BookMark,索引可以直接在表级应用where子句和连接条件。
      例子:表regisrersys 索引列userid 数据量:2万
            select * from registersys where userid='test01'
            select * from registersys where studentname='test01'
            在执行计划中,1为1.98% 2为98.02%,因为2引起了全表查询  
    2。SARG
      SARG(Search Argument)搜索参数,即sql使用索引优化where条件,下面是一些基本原则
      ·and是SARG,但or不是
      ·否定的条件(<> 、!>、 !< 、not exists、not In 、not Like)是不可优化的。
      ·通配符开始的条件是不能使用索引
      ·使用了表达式的条件不能使用索引
      ·where条件中包含了函数,需要表扫描
      ·SQL Expert是个不错的SARG工具
    3。关于索引
      ·在一对多的联系中多的一方的外键(如orderdetial中的orderid)建立聚集索引
      ·复合索引中列顺序很关键,把经常检索的列放置在第一个位置
      ·如果表中有聚集索引,那所有的非聚集索引都是包含了聚集索引列的复合索引
      ·不要对只包含少数几个索引值的列设置为索引列,因此bit类型的列不适合做索引列
      ·使用索引优化向导参考进行索引优化
  • 相关阅读:
    分页查询
    web 开发中 405报错
    html 中input标签的name属性
    怎么样利用debug
    bzoj 1314: River过河 优先队列
    bzoj 4004: [JLOI2015]装备购买 拟阵 && 高消
    bzoj 1133: [POI2009]Kon dp
    bzoj 4127: Abs 树链剖分
    bzoj 2406: 矩阵 上下界网络流判定
    再写FFT模板
  • 原文地址:https://www.cnblogs.com/tippoint/p/1245267.html
Copyright © 2011-2022 走看看