gpt4 book ai didi

sql-server - %% 与 CONTAINSTABLE

转载 作者:行者123 更新时间:2023-12-04 02:07:01 25 4
gpt4 key购买 nike

这是我的 Previous Query 的延续

动态链接库

CREATE TABLE [dbo].[t](
[words] [varchar](1000) NULL,
[id] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]

动态语言

insert into t(words)values('this is my laptop')
insert into t(words)values('this does not contains heqadphone')

这两个插入被迭代了250次...

SQL 查询 - 1

SELECT * FROM 
t as t
JOIN CONTAINSTABLE(t, words,'"*heqadphone"') fulltextSearch
ON
t.[Id] = fulltextSearch.[KEY]

SQL 查询 - 2

Select * from t where words like '%heqadphone%'

困惑

通常我们被建议不要像我后面的查询中所述那样使用双 %%。但是在检查了 SQL Profiler Reads 和 Duration 之后

查询 1 显示更多的阅读次数/持续时间。点击以下链接查看详情

SQL Profiler Reads and Duration for Query - 1

查询 2 显示较少的读取/持续时间。点击以下链接查看详情

SQL Profiler Reads and Duration for Query - 2

您能否确认一下,理想情况下哪种查询比较好用?

最佳答案

您正在比较具有不同功能的两个不同特性:CONTAINSTABLE 为您提供了额外的信息,例如 LIKE 没有的排名。所以第一个问题是,你真的需要全文特征吗?如果这样做,那么您别无选择:您必须使用 CONTAINSTABLE

另一方面,如果您不需要 FTS 功能,而只是想要以最快的方式在列中搜索单个词,那么最好的方法就是您正在做的事情:使用实际数据测试这两个选项设置并查看哪一个在您的环境中表现更好。如果 LIKE 表现更好,那么您可以使用它,但正如 erikkallen 提到的,请确保您使用与生产中相同的数据量进行测试。

关于sql-server - %% 与 CONTAINSTABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995777/

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