gpt4 book ai didi

tsql - PATINDEX 和 CHARINDEX 的性能如何?

转载 作者:行者123 更新时间:2023-12-02 00:44:17 26 4
gpt4 key购买 nike

我一直在存储过程中使用 CHARINDEX 来检查 NVARCHAR(MAX) 类型的变量,但今天我发现 CHARINDEX有 8,000 字节的限制!

我找到这篇文章SQL CHARINDEX() Has Data Size Limitations .

所以我用PATINDEX替换了CHARINDEX,但是我不知道PATINDEXCHARINDEX之间的性能。

最佳答案

CHARINDEX您要查找的字符串的限制为 8000。不适用于您正在搜索的字符串。

那篇文章可能是错误的,除非您想查找长度 > 8000/4000 的字符串。但是,它还使用已弃用的文本数据类型。它的日期是 2007 年,所以他使用的是 SQL Server 2005 或 2000,但 SQL Server 2005 BOL 根本没有提到 8000,我也没有尝试过。

来自 SQL Server 2008 BOL:

CHARINDEX ( expression1 ,expression2 [, start_location ] )

expression1 Is a character expression thatcontains the sequence to be found.expression1 is limited to 8000characters.

expression2 Is a character expression to be searched.

注意:PATINDEX 没有提到 SQL 2008 或 2005 的 8000 限制。

最后,我会使用 CHARINDEX,因为我认为如果您不需要模式匹配,它对于直接搜索会更直观并且它支持长字符串

关于tsql - PATINDEX 和 CHARINDEX 的性能如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com