zoukankan      html  css  js  c++  java
  • mssql like的效率

    ====================================
    mssql like的效率

    今天研究了一天,关于like的效率,使用效果如下:第一种情况为:
    执行:select * from question where title like '?%'
    结果如下:
    (8 行受影响)
    表 'Question'。扫描计数 1,逻辑读取 259 次,物理读取 0 次,预读 0 次,lob 逻辑读取 18 次,lob 物理读取 0 次,lob 预读 0 次。

    第二种情况为:select * from question where title like '%?%'
    结果如下:
    (2280 行受影响)
    表 'Question'。扫描计数 1,逻辑读取 259 次,物理读取 0 次,预读 0 次,lob 逻辑读取 5885 次,lob 物理读取 0 次,lob 预读 0 次。

    第三种情况为:select * from question where charindex(title,'?%')>0
    执行结果如下:
    (3 行受影响)
    表 'Question'。扫描计数 1,逻辑读取 259 次,物理读取 0 次,预读 0 次,lob 逻辑读取 7 次,lob 物理读取 0 次,lob 预读 0 次。

    从中看出%%进行了全表扫描,而%还不错,但是如果使用charindex替代情能有很大的提升,但是对备注类型不可操作
    ==========================================
    mssql优化

    1、建立索引,建立索引很关键,索引分为二种,分别为聚焦索引和非聚焦索引;不过索引的维护开销代价也很大,最好为唯一并且不能修改;如果有重复的项,索引的效果很差
    2、尽量减少使用视图,不过视图能减少代码的重复量
    3、减少选择范围
    ===========================================

    作者:罗敏贵
    邮箱:minguiluo@163.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    HQL语句中类的别名语法以及作用?
    C#面向对象
    c#异步编程一
    c#接口
    c#Socket通信基本使用
    c#FTP基本使用
    c#XML的基本使用
    c#装箱与拆箱
    c#数组与集合
    c#中for与foreach的使用
  • 原文地址:https://www.cnblogs.com/luomingui/p/1674182.html
Copyright © 2011-2022 走看看