写点什么

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

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

关注

评论

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

工业管理 团队建设经验总结(2)

万里无云万里天

项目管理 工业 工厂运维

怎样做结合YashanDB数据库提升企业信息化建设效率

数据库砖家

工业管理 项目管理经验总结(2)

万里无云万里天

项目管理 工业 工厂运维

工业管理 项目管理经验总结(3)

万里无云万里天

项目管理 工业 工厂运维

混合合成先验增强表格基础模型Mitra

qife122

机器学习 基础模型

企业软件与智能服务迎变革,用友BIP将现新动作

用友BIP

手机长焦进化史:攀过十年,终抵云巅

脑极体

终端

结合YashanDB实现智能告警与运维自动化

数据库砖家

快速解决YashanDB数据库连接异常及故障排查指南

数据库砖家

怎样利用YashanDB实现数据实时同步

数据库砖家

配电 低压电工经验总结(11)

万里无云万里天

工业 工厂运维

基于YashanDB数据库的实时数据备份与恢复方案

数据库砖家

怎样做快速定位YashanDB数据库性能瓶颈解决方法

数据库砖家

设备点检 设备维护经验总结(2)

万里无云万里天

工业 设备维护 工厂运维 设备点检

ICASSP 2024语音技术前沿论文速览

qife122

人工智能 语音识别

GBIC 2025,大型企业不容错过的双场直播抢先看!

用友BIP

结合YashanDB数据库构建多维度数据分析模型

数据库砖家

怎样做快速上手YashanDB数据库的详细步骤

数据库砖家

设备点检 设备维护经验总结(1)

万里无云万里天

项目管理 工业 工厂运维

工业仪表 过程仪表经验总结(7)

万里无云万里天

工业 工厂运维

工业管理 项目管理经验总结(4)

万里无云万里天

项目管理 工业 工厂运维

大型企业数智化破局,一定不要错过2025 GBIC这10场论坛!

用友BIP

怎样做监控YashanDB数据库性能与资源使用?

数据库砖家

工业设计 自控设计经验总结(2)

万里无云万里天

设计师 工业 工厂运维 工业设计

让AI应用落地!大型企业一定要来这场盛会的8个理由

用友BIP

《大型企业数智化》图书即将发布!

用友BIP

快速搭建基于YashanDB的数据存储环境

数据库砖家

硬盘性能提升100倍的秘密:看懂顺序I/O的魔力

poemyang

计算机原理 PageCache I/O模型 储存

引领中国企业软件出海新局面,用友BIP让AI应用在全球落地

用友BIP

AI突破企业软件能力边界,用友BIP5即将破局发布!

用友BIP

怎样做结合YashanDB构建多租户数据库解决方案?

数据库砖家

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