首页 > 数据库 >MS_SQL模糊查询like和charindex的对比

MS_SQL模糊查询like和charindex的对比

时间:2023-06-11 21:00:51浏览次数:365  
标签:like 查询 charindex MS Name select getdate

like查询效率低下,网上搜了一下替代like查询的方法,都是说用charindex方法,自己对比了一下查询速度

test1表中有一千两百多万条数据,我只给ID加了索引

先看一下 '%我%'这种模糊查询:

declare @q datetime
set @q = getdate()
select ID,U_Name,U_Sex,U_Age,U_Address from test1 where U_Name like '%我%'
select [like执行花费时间(毫秒)]=datediff(ms,@q,getdate())

declare @w datetime
set @w = getdate()
select ID,U_Name,U_Sex,U_Age,U_Address from test1 where charindex('我',U_Name) >0
select [charindex执行花费时间(毫秒)]=datediff(ms,@w,getdate())

查询结果:

MS_SQL模糊查询like和charindex的对比_数据

两者的时间差不多,不过要是在千万、乃至上亿的数据中还是能明显感觉到两者的查询速度吧。

再看下'我%'这种的模糊查询:

declare @q datetime
set @q = getdate()
select ID,U_Name,U_Sex,U_Age,U_Address from test1 where U_Name like '我%'
select [like执行花费时间(毫秒)]=datediff(ms,@q,getdate())

declare @w datetime
set @w = getdate()
select ID,U_Name,U_Sex,U_Age,U_Address from test1 where charindex('我',U_Name) >0
select [charindex执行花费时间(毫秒)]=datediff(ms,@w,getdate())

查询结果:

MS_SQL模糊查询like和charindex的对比_数据_02

所以需要在不同条件下选择两种模糊查询,'%我%'这种的就用charindex,'我%'这种的就用like!

标签:like,查询,charindex,MS,Name,select,getdate
From: https://blog.51cto.com/u_15949341/6459009

相关文章

  • nginx+tomcat+memcached (msm)实现 session同步复制
    这里重点强调如何实现linux服务器上服务器session共享,软件安装不再赘述。 首先我们需要对cookie和session的工作机制非常了解,如果不了解其中的原理,就算配置成功,也毫无意义。换了工作换了环境,重新配置起来 仍然需要重头来过,事倍功半。    cookie是怎样工作的? 例如,我们创......
  • Comsol相变传热
     相变材料模型:相态就是由温度判断(大于还是小于相变温度);潜热使用了等效热容法 在案例库中,有几个连铸工艺(液态金属在通过冷却模具时发生降温凝固)的例子。 ......
  • IOT数据库选型——NOSQL,MemSQL,cassandra,Riak或者OpenTSDB,InfluxDB
    补充:Basho公司开源了它的时序数据库产品RiakTS1.3代码在githubriak的riak-ts分支上!RiakKV产品构建于Riak内核之上,提供了一种高弹性、高可用的键值数据库。RiakKV产品当前正在持续改进中,专注于数据正确性、预防数据损失和破坏等特性。RiakTS产品源于RiakKV数据库,是一种为时序......
  • Graph Neural Networks Inspired by Classical Iterative Algorithms
    目录概符号说明MotivationRobustRegularizationYangY.,LiuT.,WangY.,ZhouJ.,GanQ.,WeiZ.,ZhangZ.,HuangZ.andWipfD.Graphneuralnetworksinspiredbyclassicaliterativealgorithms.ICML,2021.概基于广义energyfunction(diffusion)的图神经网......
  • comsol瞬态求解不收敛报错,如何解决?
    1.计算开始时,报错“找不到一致的初始值,最后一个时间步不收敛”解决方法:(1)使用稳态研究的结果作为瞬态研究的初始值。单个研究可以包含多个步骤,且默认情况下,每个步骤的结果都会作为初始值传递到下一步骤。因此,在瞬态研究步骤之前添加一个稳态步骤,可以先求解稳态假设下的流场,从......
  • 推导&实现:感知器准则&MSE算法&Fisher准则
    推导&实现:感知器准则&MSE算法&Fisher准则1感知器准则1.1推导​ 第二个类别的样本特征向量\(\times-1\),再给所有样本增加一维表示label,第一类label等于\(1\),第二类label等于\(-1\)​ 感知器算法采用最直观的准则,即最小错分样本数,(MSE的区别在于迭代更新\(a\)......
  • memset 定义方法
    memset定义方法int”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80longlong”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80float”较“的原则:保证一定位精度。7f以上一直到be都是-0(实际上是一个很小的>-1.0的负数)极大值:0......
  • 【信道估计】基于多用户MMSE-BLE算法实现信道估计附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • ASP.NET实验室信息管理系统(LIMS)
    一、技术框架说明开发语言:C# 开发工具:VS2019  前端框架:EXT.NET  后端框架:asp.net  数据库:mssql2018技术架构:ASP.NETdotnet3.5 二、LIMS实验室信息管理系统主要功能1.基本资料管理:公司资料、地域/区域2.标准项目管理:标准依据、检测项目、项目价格3.客......
  • ms sql 表 索引查询
    SELECTOBJECT_NAME(IDX.object_id)Table_Name,IDX.nameIndex_name ,PAR.rowsNumOfRows ,IDX.type_descTypeOfIndexFROMsys.partitionsPARINNERJOINsys.indexesIDXONPAR.object_id=IDX.object_idANDPAR.index_id=IDX.index_idANDIDX.type......