首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 全文索引超时问题付50分! [已结贴,结贴人:www81armycn]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • www81armycn
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-17 09:13:32 楼主
    请教一个问题,我在SQL 2005建立了全文索引目录,在.net里使用了contains函数实现了对单个表article的全文索引,现在的问题是,为什么第一次执行时出现"超时"错误?而当出现超时后再刷新一次,然后以后再执行的时候就一切正常了?基本上总是第一次超时?为什么?不知道我的问题出在哪?是数据库建立全文索引目录的方法不对?还是contains函数用法不对?哪位高手指点一下!谢谢
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hery2002
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      2

    发表于:2008-05-17 09:17:121楼 得分:0
    没有玩过全文索引,帮顶一下.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hopefly000
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 09:42:432楼 得分:0
    这样啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • www81armycn
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 10:28:213楼 得分:0
    空欢喜一场,不错也谢谢帮顶的兄弟.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojuju10
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 22:12:214楼 得分:0

    检查下程序和数据库的最大连接时间
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hery2002
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      2

    发表于:2008-06-01 21:03:445楼 得分:50
    试试这个?
    http://www.cnblogs.com/ami/archive/2008/03/18/1111875.html

    建立全文索引后,使用Contains查询很快。搁置约几分钟;再次使用contains查询很慢,会超时,第2次则又快起来了。不久又如此。    sqlserver2005全文索引的缓存会被释放,如果才能保持?
    初步解决方法是调整了全文索引服务的一个verify_signature属性,禁用。
    SELECT fulltextserviceproperty('VerifySignature')
    exec sp_fulltext_service verify_signature,0

    ----------------------------------------------------
    在全文索引中排序,排序字段为索引列,但是经常排序速度很慢。
    初步解决方法是:重新生成索引
    ALTER INDEX ALL ON table REORGANIZE
    ALTER FULLTEXT CATALOG 全文目录名称 REORGANIZE
    参考:
    使用 ALTER INDEX REORGANIZE 对基表的索引进行碎片整理。 
    使用 ALTER FULLTEXT CATALOG REORGANIZE 重新组织全文目录。切记要在进行性能测试之前执行此操作,因为它会引起该目录中全文索引的主合并。 
    仅选择较小的列作为全文键列。即使支持 900 字节的列,也不建议您使用这么大的键列来创建全文索引。 
    将多个 CONTAINS 合并为一个 CONTAIN。在 Microsoft SQL Server 中,您可以在 CONTAINS 查询中指定一个包含若干列的列表。 
    如果只需要全文键或排名的信息,请分别使用 CONTAINSTABLE 或 FREETEXTTABLE,而不要使用 CONTAINS 或 FREETEXT。 
    使用 FREETEXTTABLE 和 CONTAINSTABLE 语法的 TOP_N_BY_RANK 选项来限制结果数并提高性能。如果您不是对可能查询到的所有信息都感兴趣,可使用此选项。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • www81armycn
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-09 12:38:186楼 得分:0
    结贴.谢谢指点!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved