添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
小眼睛的仙人球  ·  Ubuntu python3 ...·  3 年前    · 
聪明伶俐的墨镜  ·  reactjs - ...·  3 年前    · 

一般我们模糊查询是用like
select * from 表 where 列 like '';
但是在数据量很大的时候用like查询会显得很慢。

在sqlserver中

使用charindex函数会不会使查询变得快些呢?我们来试一试
select * from 表 where CHARINDEX('',列)>0;

oracle中

select * from 表 where INSTR(列,'')>0;
下面我们在sqlserver中实验一下:

1、写个存储过程插入100万条相同数据:

CREATE PROCEDURE insert10000Demo1
@a int,
@b int
AS
set @a = 1;
set @b = 0;
while @a<=1000000
BEGIN
set @b += @a;
set @a +=1;
insert into txtDemo(id,txt) values(@a,'内容随意');
END

2、执行以下存储过程:

exec insert10000Demo1 1,0;

3、查询10万条数据对比

(1)like:

select top 100000 * from txtDemo where txt like '%内容随意%';

所需时间8秒

(2)CHARINDEX:

select top 100000 * from txtDemo where CHARINDEX('内容随意',txt)>0;

所需时间5秒

4、查询20万条数据对比

(1)like:

select top 200000 * from txtDemo where txt like '%内容随意%';

所需时间12秒

(2)CHARINDEX:

select top 200000 * from txtDemo where CHARINDEX('内容随意',txt)>0;

所需时间12秒

5、查询30万条数据对比

(1)like:

select top 300000 * from txtDemo where txt like '%内容随意%';

所需时间18秒

(2)CHARINDEX:

select top 300000 * from txtDemo where CHARINDEX('内容随意',txt)>0;

所需时间17秒

爱用哪个用哪个/笑脸。可能是在某个数据量的时候是相等的。在这个数据之前是like慢些,在这个数据之后是like快些。

测评结束。

注意:在大批量插数据时要把使索引失效,插入完后再使索引有效。

一般我们模糊查询是用like  select * from 表 where 列 like '';  但是在数据量很大的时候用like查询会显得很慢。在sqlserver中使用charindex函数会不会使查询变得快些呢?我们来试一试  select * from 表 where CHARINDEX('',列)&amp;gt;0;oracle中select * from 表 where...
文章目录第六十四章 SQL 函数 INSTR 大纲参数描述 INSTR , CHAR INDEX , POSITION和$FIND示例 第六十四章 SQL 函数 INSTR 返回子字符串在字符串 中 的位置的字符串 函数 ,具有可选的搜索起始点和出现次数。 INSTR (string,substring[,start[,occurrence]]) string - 要在其 中 搜索子字符串的字符串表达式。 它可以是列的名称、字符串字面值或另一个标量 函数 的结果,其 中 基础数据类型可以表示为任何字符类型(如 CHAR 或VARC
将分隔的字符串插入临时表#tbTemp 中 ,通过t1.PROCESS_CD IN ( SELECT * from #tbTemp )获取数据 create table #tbTemp strTemp VAR CHAR (max) IF( @PROCESS_CD IS NOT NULL OR
在c# 中 可以用字符串的 Index Of方法来判断一个字符串 中 是否含有指定的字符。而在 SQL SERVER 中 也就相关的 函数 来实现 Index Of的功能。 Char Index , InStr ,Pat Index 三个 函数 就是和 Index Of类似,最后介绍一个替换插入字符的 函数 Stuff。 下面就来说说 SQL 中 Char Index 函数 、 InStr 函数 、Pat Index 函数 、Stuff 函数 区别与作用。 一、 CHAR IN...
3。测试字段:ntext 类型,最大数据长度12000 二、测试语句: 1。select * from ProductTemp where ProductDesc like ‘%192.168.70.236%’ 2。select * from ProductTemp where char index (‘192.168.70.236’,ProductDesc)>0 3。select * f
分享个 sqlserver 的 sql 给大家,能用with as的递归实现 oracle 中 的 instr 函数 ,并且能将分隔符的字符串解析,例如: 字符串为:'O3O,30,4834,348934,AA,09WOFJOWE,FW' 解析完成: 1)实现 oracle 的 instr 函数 , sql 如下: WITH CTE1 AS ( SELECT '1' AS ID , 'O3O...
SQL Server 的 CHAR INDEX 函数 是用来查找一个字符串 中 某个子字符串的位置的 函数 。它的语法如下: CHAR INDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 其 中 ,expressionToFind是要查找的子字符串,expressionToSearch是要在其 中 查找的字符串,start_location是可选的,表示从哪个位置开始查找。如果找到了子字符串,则返回它在字符串 中 的位置,否则返回。 ### 回答2: SQL Server 中 的 CHAR INDEX 函数 是字符串 函数 之一。该 函数 返回字符串 中 要查找的字符或子字符串的位置,如果未找到,则返回零。 CHAR INDEX 函数 的语法如下: CHAR INDEX (要查找的字符串, 被查找的字符串, 开始查找的位置) 其 中 ,第一个参数是要查找的字符串,第二个参数是被查找的字符串,第三个参数是可选的,表示从被查找的字符串的哪个位置开始查找。 CHAR INDEX 函数 返回的是要查找的字符串在被查找的字符串 中 的起始位置。如果要查找的字符串在被查找的字符串 中 出现多次,则返回第一次出现的位置。 以下是使用 CHAR INDEX 函数 的示例: -- 查找字符串 中 的子字符串 SELECT CHAR INDEX ('world', 'hello world') -- 返回7 -- 查找子字符串在字符串 中 的位置 SELECT CHAR INDEX ('o', 'hello world', 5) -- 返回7 -- 如果未找到,则返回0 SELECT CHAR INDEX ('abc', 'hello world') -- 返回0 CHAR INDEX 函数 可以被用于许多情况。例如,可以在数据库 中 使用它来查找表格 中 的某些特定字符或子字符串。此外,由于该 函数 的功能较强大,还可以在编写存储过程 中 使用它来检查特定字符串的存在并执行相应的操作。 总之, CHAR INDEX 函数 是 SQL Server 中 的一个非常有用的 函数 ,可以帮助开发人员在大多数情况下轻松地查找和处理特定字符串。 ### 回答3: SQL Server 的 Char Index 函数 用于返回指定字符串在源字符串 中 的位置。如果查找到指定字符串,则返回该字符串的第一个字符在源字符串 中 的位置。如果未找到,则返回0。以下是 Char Index 函数 的语法: CHAR INDEX (searchString, sourceString, startPosition) 参数说明: - searchString:要查找的字符串。 - sourceString:要查找的源字符串。 - startPosition:指定从源字符串的哪个位置开始查找。可选参数,默认值为1。 SELECT CHAR INDEX ('o', 'hello world') -- 返回值为 5 以上示例 中 , Char Index 从“hello world” 中 查找第一个出现“o”的位置,返回5。 使用 Char Index 函数 时,需要注意以下几点: - Char Index 区分大小写。如果要忽略大小写,可以使用Upper或Lower 函数 将源字符串和待查找字符串转换为大写或小写。 - 查找到的位置是指从左到右的第几个字符。如果要从右到左进行查找,可以使用PAT INDEX 函数 。 - 如果使用 Char Index 函数 查找多个字符串的位置,需要多次调用该 函数 。 总的来说, Char Index 函数 是 SQL Server 中 一个非常有用的字符串 函数 ,可以方便地进行字符串位置的查找和处理。在实际应用 中 ,可以使用它来解析数据、替换字符串等。 log4net:ERROR Exception while reading ConfigurationSettings. Check your .config file is well formed win10通过OneDrive实现办公室的电脑和家里电脑重要数据同步 oracle 遇到中is null与 =‘‘的问题