zoukankan      html  css  js  c++  java
  • charindex ,PATINDEX,contains,FREETEXT用法

    View Code
    SELECT  jobTitle  FROM job_job
    wherecharindex('程序员',jobTitle)>0

    SELECT jobTitle FROM job_job
    where jobTitle like'程序员%'

    select jobTitle from job_job
    wherePATINDEX('%程序员%',jobTitle)>0

    select jobTitle from job_job
    wherecontains(jobTitle,'程序员')

    select jobTitle from job_job
    whereFREETEXT(jobTitle,'程序员')

    测试数据6万  SQL2008

    4G内存,windwos server2008  cpu:Pentium(R)Dual-Core E6500

    charindex

    (1801 行受影响)
    表 'job_job'。扫描计数 1,逻辑读取 7945 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 141 毫秒,占用时间 = 312 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    like

    (171 行受影响)
    表 'job_job'。扫描计数 3,逻辑读取 8746 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 79 毫秒,占用时间 = 51 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    如果like语法改成 like '%程序员%' 结果也是1801 为了不破坏索引的情况下去掉了前面的%号

    PATINDEX

    (1801 行受影响)
    表 'job_job'。扫描计数 1,逻辑读取 7945 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 218 毫秒,占用时间 = 551 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    contains

    (1801 行受影响)
    表 'job_job'。扫描计数 0,逻辑读取 5524 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 16 毫秒,占用时间 = 184 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    FREETEXT

    (16397 行受影响)
    表 'job_job'。扫描计数 1,逻辑读取 7945 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 78 毫秒,占用时间 = 274 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    测试数据精确度不高包含的意思吧


     contains,FREETEXT必须创建全文索引

    其它文章

    http://www.cnblogs.com/freexiaoyu/archive/2010/08/28/1810697.html

    http://www.cnblogs.com/freexiaoyu/archive/2010/08/28/1810696.html

  • 相关阅读:
    linux PCI 接口
    Linux 内核链表头数据结构
    Linux内核链表
    spawn-fcgi原理及源代码分析
    TRIZ系列-创新原理-17-转变到新维度原理
    《转》ceilometer的数据採集机制入门
    git配置文件读取顺序
    Android Studio 使用感受 错误解决
    scikit-learn:在实际项目中用到过的知识点(总结)
    //%f表示以十进制格式化输出浮点数 %.2f
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/2112739.html
Copyright © 2011-2022 走看看