首页 > CyberArticle, SQL Server > SQL Server 和SQL Server Express书籍优化

SQL Server 和SQL Server Express书籍优化


SQL Server 和SQL Server Express书籍,如果数据量很大,可以进行优化。优化后,可以获得很好的搜索速度,另外,点击文章里面的链接,反应速度也大大加快。

准备软件

  1. CyberArticle最新测试版本(2009年6月17号以及以后的版本)。从这个版本开始,优化了节点操作速度,支持SQL Server数据库全文搜索语法。
  2. SQL Server Management Studio或者SQL Server Management Studio Express,分别对应SQL Server和SQL Server Express。其中SQL Server Management Studio可以和SQL Server一起安装,SQL Server Management Studio Express可以在微软的网站下载。本文使用SQL Server 2008 180天开发版本。

注意:默认情况下,CyberArticle无法连接到 SQL Server 2008 / SQL Server Express 2008 数据库,请点击这里查看解决办法

开启SQL Server全文搜索功能

1、在SQL Server Management Studio中,找到书籍数据库,在数据库名称上面点击右键,在菜单中选择属性

2、出现的对话框中,选择File,然后选择 Use full-text indexing(使用全文检索索引)。

点击OK(确定)按钮,关闭对话框。

3、展开数据库名节点,定位到数据库名StorageFull Text Catalogs,在这个节点上面,点击右键,选择 New Full-Text Catalog。

在出现的对话框里面,按照下图输入:

点击OK(确定)按钮就可以了。

4、展开数据库名节点,定位到数据库名Tablesdbo.Nodes,在这个节点上面,点击右键,选择 Full-Text index -> Define Full-Text index:

在出现的向导中,依次点击Next(下一步)按钮。在选择列的对话页面中,按照下面的方式选择:

在跟踪修改的页面中,根据自己的需要进行选择:

  • 自动
  • 手工
  • 不跟踪修改

这些选项,主要用来设置 数据修改后,如何更新全文搜索引擎的方式。

然后下一步,选择Catalog,选择我们刚才创建的cyberarticle即可。

然后一直下一步,直至完成。此时,就设置好了全文搜索。您需要等待数据库进行全文索引的建立。这个过程可能需要很长的时间,例如几个小时甚至一整天或者更长,数据库的体积,也会不断地增大(我测试的数据库,从4G一直增加到8G,还没有结束)。

在CyberArticle里面启用数据库的全文搜索功能

在CyberArticle里面,打开书籍,然后在书籍节点上面,点击右键,选择“属性”,在属性对话框里面,切换到数据库Tab:

选中下面的“This database support full text search”。然后点击确定按钮。就可以在CyberArticle里面使用数据的全文搜索功能进行搜索。

测试结果

  • 硬件:Thinkpad T42, 1.7G CPU, 1G内存,160G 5400转硬盘。
  • 软件:Windows 7 RC,SQL Server 2008 开发版。
  • 数据库:Nodes表有144057条数据,139013条记录是文章,数据库体积,在没有全文搜索之前3G多,增加全文检索后,7G多(还未完成)。

搜索速度比较:(最多返回50条记录)

  • 优化前:搜索中文字符串,需要5分钟甚至更长的时间
  • 优化后:15秒内,出现结果

在文章浏览器内点击一个链接,CyberArticle需要对这个链接进行搜索,查找是否已经保存在书籍中。

  • 优化前:几分钟都没有反应
  • 优化后:10秒内正确打开已经保存的网页

结论

利用优化后的数据库和CyberArticle,可以极大的加快搜索速度。因此,对于企业用户,按照上面的方式进行优化后,利用CyberArticle和SQL Server,完全可以胜任大型的知识库建立,并获得良好的效率。毕竟从上面的测试看,一个很老的笔记本,就可以达到这样的效率,如果更换成专用的数据库服务器,效率可以更高。

其它

如果您需要进行测试,请向我索取最新的支持数据库全文检索的CyberArticle测试版本。如果CyberArticle新的版本已经发布,请直接下载使用。


分类: CyberArticle, SQL Server 标签:
  1. 魏 拾俊
  2. 我认为
    2009年8月29日10:00 | #2

    我认为应该使用开源的数据库,有利于你的软件长期发展,企业长期使用盗版,越来越麻烦。。。。。请参考。也可能开发有些麻烦。

  3. 魏拾俊
    2009年8月29日17:18 | #3

    你可以用my sql阿。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

Spam Protection by WP-SpamFree