AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

关于Linux系统中Message中的Session日志详解

运维研习社

Centos 7

翻译:《实用的Python编程》02_02_Containers

codists

Python 人工智能 容器 后端 数据结构与算法

iOS BAT面试对答题

ios 面试

Dart 后台开发 Aqueduct集成Swagger客户端

人生如梦

flutter dart

说说规则引擎

张老蔫

28天写作

实例详解Linux下ulimit每个参数

运维研习社

Linux ulimit linux系统资源管理 open file

学习 Java 语言,你必须知道的 Java 简史

白色蜗牛

Java spring 程序员

第十三周 数据应用二 作业 「架构师训练营 3 期」

胡云飞

Jenkins通过OpenSSH实现Windows下的CI/CD

运维研习社

jenkins CI/CD Windows Server 2012 R2

Nginx加密套件配置不当,造成SSL无法建立连接

运维研习社

nginx zabbix SSL证书 证书监控

牛启新春|优质文章人气大挑战

InfoQ写作社区官方

热门活动

Kafka.03 - Message 介绍

insight

kafka 2月春节不断更

为行动而读书-《麦肯锡精英高效阅读法》读书笔记

Harris

读书笔记

创业公司人力资源体系建设的几点思考

一笑

人力资源 28天写作

管理笔记 [9]:组织与督导,管理者的两个宝

L3C老司机

28天写作

做出赋能其他人的产品是技术牛人最好的证明

刘华Kenneth

敏捷 平台

【STM32】CubeMX+HAL 输出PWM

AXYZdong

硬件 stm32 2月春节不断更

2021年目标,我打算这样去实现

谙忆

测试技术

牛鬼蛇神VS魑魅魍魉

如何解决Nginx实现动静分离或反向代理时资源路径不匹配

运维研习社

nginx 反向代理 动静分离

一文搞懂Linux下Ulimit资源限制

运维研习社

Linux linux命令 ulimit

为什么做这样一个产品之容量评估篇

数列科技杨德华

28天写作

IO 模型知多少 | 理论篇

io

BOE(京东方)全面发力8K 成为央视8K超高清技术合作伙伴

爱极客侠

面试官一上来就问我Chrome底层原理和HTTP协议(万字长文)

我是哪吒

大前端 后端 chorme 28天写作 2月春节不断更

抓包带你详解TCP的11种状态

运维研习社

三次握手 四次挥手 TCP/IP 抓包

你好,2021~

数据社

程序员 2021年展望

Instana:如何评价可观察性方案?

行人23

京东方“8K+5G”技术助力牛年春晚 开启超高清视频直播时代

爱极客侠

二、MongoDB基础知识

Kylin

读书笔记 七日更 分布式数据库mongodb 二月春节不断更

Nginx如何监控各server的流量

运维研习社

nginx Prometheus zabbix upstream

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