web下,做搜索是直接在notes数据库中搜索,还是把notes数据导出到sql中进行搜索,请高手指点方法和优劣。
------解决方案--------------------
当然在notes中搜索,做全文索引,用FTSearch效率非常高。
------解决方案--------------------
具体要看你的展现形式了,
代理里一般是这样处理的:
1.用getfirstentry,getnextentry 从已经做了selcet的视图中循环取值
2.对这些值做你想要做的条件选择
3。需要的值放入一个string类型的变量中,然后输出到html页面上,
基本上就是这些 ,主要是有大量的拼串
------解决方案--------------------
方法A:导入SQL,然后旧数据归档,查询的时候是先发SQL查询再join一个notes查询(未进SQL的)
适用环境:单库>20G,或者有进行多种统计求值,排序的情况
优点:SQL的统计和排序比notes方便。同时,旧数据归档会减小当前库的大小,当库做索引,FTSearch,DBSearch的时候就很轻松。对付大数据量也不会对性能有太大影响,还可以搞出什么汇总报表之类的,都非常简单
缺点:导入SQL的代码必须监控起来。否则一旦出错,整个搜索结果就不准确,同时这种方法增加了复杂度
方法B:只做notes的搜索
适用环境:库比较小,没有什么复杂的统计需求,仅仅是一种公文或过程的记录
优点:FTSearch,DBSearch或者getalldocumentsbykey都可以搞定,没什么技术难度
缺点:数据量增大时,DBSearch对性能影响很大,FTSearch好一点,你得有比较高效的代码才能保证性能
但是当数量量>200万条的时候,高效的代码也会产生性能问题。此时要么拆库,要么进SQL。不做处理的话就等着投诉吧
以上两个方法都是假设你的附件是有另外的附件库处理的
------解决方案--------------------
查询的时候是先发SQL查询再join一个notes查询(未进SQL的) 如何做?