产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

性能问题损伤 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:442314
用户头像

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

关注

评论

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

浅谈常态化压测 | 京东物流技术团队

京东科技开发者

测试 压力测试 常态化压测 企业号 7 月 PK 榜

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

阿里云大数据AI技术

人工智能 自然语言处理 nlp 企业号 7 月 PK 榜

用友23大行业数智底座解决方案,助力企业高质量发展

用友BIP

数智底座

开发了一个Java库的Google Bard API,可以自动化与AI对话了

快乐非自愿限量之名

Java 数据库 架构搭建

PCB板为什么要做树脂塞孔?

华秋PCB

PCB 电路板 PCB设计 树脂塞孔 高密布线

MySQL 主从延迟的常见原因及解决方法

互联网工科生

MySQL 后端

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)| 社区征文

肥晨

年中技术盘点

温州堡垒机厂商哪家好?咨询电话多少?包含哪些功能?

行云管家

网络安全 堡垒机 温州 温州企业

为什么 MySQL 使用 B+ 树?| StoneDB数据库观察

StoneDB

MySQL 数据库 B+树

驱动您的在线成功:解密香港云主机的关键优势

一只扑棱蛾子

香港云主机

StoneDB 开源社区月刊 | 202301期

StoneDB

开源社区 StoneDB

房地产LED广告显示屏项目方案

Dylan

广告 项目 房地产 LED显示屏

合约编写基础知识介绍基础篇

BSN研习社

10个安全问题带你了解OWASP 定义的大模型应用

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 7 月 PK 榜

聊一聊Java中的Steam流 | 京东物流技术团队

京东科技开发者

Java steam 企业号 7 月 PK 榜

TiDB简述及TiKV的数据结构与存储 | 京东物流技术团队

京东科技开发者

数据库 TiDB TiKV 底层架构 企业号 7 月 PK 榜

Midjourney最强劲的对手来临,SDXL被动开源的浪潮,AI生成图片未来可期 | 社区征文

派大星

年中技术盘点

活动回顾|阿里云 Serverless 技术实战与创新广州站回放&PPT下载

Serverless Devs

云计算 Serverless 弹性计算

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

IPD(集成产品开发)是什么?适合什么样的团队?

禅道项目管理

用css实现简易报警灯| 社区征文

肥晨

年中技术盘点

实现价值替代,不只是功能替代

用友BIP

国产替代

MySQL之InnoDB存储结构 | 京东物流技术团队

京东科技开发者

MySQL 数据库 innodb 企业号 7 月 PK 榜

制造行业全面预算可以这样管!

用友BIP

全面预算

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

国产替代的新领域:用友BIP积极投身信创生态建设

用友BIP

国产替代

Stable Diffusion AIGC:3步成为P图大师

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

复杂「场景」数据导入导出

不在线第一只蜗牛

前端 场景搭建

CSS架构之BEM设计模式| 社区征文

肥晨

年中技术盘点

倒计时3天,京东技术20年实践分享邀您莅临!

京东科技开发者

京东云峰会 企业号 7 月 PK 榜

促进协作、提高生产力:育碧选择Perforce Helix Core的原因

龙智—DevSecOps解决方案

游戏开发 育碧 刺客信条

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