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

  • 相关阅读:
    CentOS6.5(1)----设置静态IP并禁用IPV6
    CentOS7运维管理笔记(12)----修改主机名
    重温C语言(1)----计算算术表达式的值
    C++学习笔记(9)----关于变量和数组大小的一道容易出错的面试题
    MySQL数据库(13)----忘记root用户密码解决方案【转载】
    C++学习笔记(8)----C++类的大小
    C++学习笔记(7)----类的数组中构造函数和析构函数的调用顺序
    C++学习笔记(6)----基类和派生类的构造函数和析构函数的执行顺序
    switch的参数类型
    windows下双击可运行的Java软件打包方案(转)
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/2112739.html
Copyright © 2011-2022 走看看