在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

性能问题损伤 SQL Server 2008 的全文检索

  • 2008-11-17
  • 本文字数:971 字

    阅读完需:约 3 分钟

首先,一些不熟悉全文检索背景的人。一般来说,计算机科学术语全文检索只是意味着你在文档中搜索所有的文本。对付全文检索的另一种选择是查找元数据,例如标题和关键字。

对SQL Server 而言,全文检索提供了存储在关系数据库或者是文件系统上的文本的高级搜索能力。搜索并不局限于字符串,应用程序所能理解的例如词干分析。这使得搜索“swim”,也返回“swims”, “swimming”,和“swam”。 它也可以支持权重搜索,即某些词比其他的词更重要,并可以搜索两个彼此相邻的词语。根据搜索条件的结果可以进行一个排名。

之前版本的全文检索是一个外部服务,和SQL Server 并排运行的服务。这样设计,参与索引的表和列的数据不得不从SQL Server 运送到全文检索服务。全文检索编目不能与其他的数据库一起备份,而且两个服务不能轻松的共享内存和CPU 资源。

为了处理这些和其他的问题,SQL Server 2008 把全文检索移到数据库中。现在SQL Server 自身可以动态管理服务器资源,为服务自动管理改变内存和CPU 资源配额。不幸的是,开发人员遇到了这种设计的一些意外结果。

他们依然会碰到的特定问题是事务。在一个事务性的数据库中,SQL Server 要时刻遵守 ACID 的规则。这意味着在搜索的时候行、页或甚至整个表都被锁定。通常情况下不会太坏,但是 Brent Ozar 解释说,错误的搜索会让事情变得复杂。

如果你在修正版(Revisions)上进行全文检索并且包含一些常见的关键字,像 SQL 滞留,则需要匹配数以万计的记录。当我们查看一下查询计划的时候,我们看到有 50-100k 的读操作。在表里面做这样的事情,也会获得沉重的表插入,事务性的灾难。

Jeff Attwodd 继续说道,

我们的 stackoverflow.com 很大程度上依赖于全文检索, 在 SQL Server 2005 下面工作得很好。不幸的是在 SQL Server 2008 下的情况则不同。 Brent 正在和 SQL Server 团队跟进这件事,他们用我们的数据库拷贝进行测试。[…] 根据目前为止出奇的差的 SQL Server 2008 全文检索和明显的体系结构更改,我对 SQL 团队能够为我们做些什么感到悲观。

他们所指的网站 StackOverflow 将计划不再长期使用全文索引。他们已经规划出迁移到竞争的搜索引擎 Lucene.Net 上。但是那些计划继续使用全文检索的人,在 SQL Server 2005 升级到 2008 以后需要在这方面进行彻底的测试。

查看英文原文: Performance Problems Mar SQL Server 2008 Full Text Search

2008-11-17 08:442826
用户头像

发布了 45 篇内容, 共 97689 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

比尔·盖茨:事了拂衣去

池建强

微软 慈善 比尔·盖茨

刘超的创作故事:“趣谈网络协议”专栏是怎么生产出来的?

极客时间

雷蓓蓓:“学习”到“实战”的距离,到底有多远?

极客时间

极客时间 项目管理

那个忽悠了马云的“骗子”王坚,私下里是什么样的?

小智

云计算 阿里巴巴 阿里云

Gary的唠叨(一):我们每个人都要提高自己的综合免疫力

小盖

Gary的唠叨 今日头条

裁缝铺里开始创业,340亿美元卖身IBM,红帽创始人的传奇故事

小智

开源 红帽

PingCAP CEO 刘奇:如何聚集精英技术人才

TGO鲲鹏会

巨头过处,寸草不生

池建强

创业 互联网巨头

中年程序员都在想什么?

小智

程序员 中年 人生

世界很大,你不必抗下全部

霍太稳@极客邦科技

创业 身心健康 生涯规划

秦粤:说来说去,到底Serverless要解决什么问题?

极客时间

极客时间 Serverless

人啊,永远是得自己成全自己

小盖

读书笔记

华为不能代表中国开源,请勿捧杀鸿蒙、方舟

小智

华为 开源 鸿蒙 方舟

我一个做内容的人,为啥要研究西贝?

小盖

极客时间

王天一:如何成为机器学习工程师?

极客时间

学习 极客时间

领导者应该承担一切责任,这才是领导力

小盖

读书笔记 团队管理 领导力

易宝支付 CTO 陈斌:如何做一个好的 CTO

TGO鲲鹏会

看似努力,或许你是在浪费生命

霍太稳@极客邦科技

学习 深度思考 读书笔记 高效工作

团队提拔人,要讲究先“实至“再”名归”

霍太稳@极客邦科技

创业 团队管理 人力资源

周爱民:捡豆吃豆的学问(下)

极客时间

Java 学习 极客时间

四火:聊一聊程序员学英语

极客时间

学习 极客时间

聊聊宿华:利他、活在当下、做大梦

小盖

吴咏炜:人生漫长,走点弯路在所难免

极客时间

学习 极客时间 编程

我的内容创作方法论

小智

原创 内容 创作

苏宁云商向江旭:是时候让技术成为新司机了!

TGO鲲鹏会

2020,你怎么看?

池建强

2020 疫情 黑天鹅

我看罗辑思维&得到简史

池建强

创业 产品 罗辑思维 得到

胡夕:阅读源码,逐渐成了职业进阶道路上的“必选项”

极客时间

kafka 极客时间 源码

郭忆:数据中台,是陷阱?还是金钥匙?

极客时间

极客时间 数据中台

徐明强博士亲述:如何像微软一样建设企业文化,渡过至暗时刻

TGO鲲鹏会

微软 TGO鲲鹏会 企业文化

周爱民:捡豆吃豆的学问(上)

极客时间

Java 学习 极客时间

性能问题损伤SQL Server 2008的全文检索_.NET_Jonathan Allen_InfoQ精选文章