我有一个莲花笔记数据库,其中有近34,000个文档,其中一组视图差不多200个。因此,性能对我来说是一个主要问题。
我尝试了几个技巧,例如:
- 使用Ctrl + Shift + F9
在服务器上创建索引- 我在数据库上运行一个预定代理,每隔3小时运行一次,代码很简单,刷新每个视图
醇>
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Set db = session.currentdatabase
ForAll v In db.views
v.refresh
End ForAll
End Sub
但他们似乎没有那么好用吗?任何提高本地和服务器副本性能的想法或建议都会很棒吗?
另外为了让您知道我有100个用户以不同的间隔进行更新,每天可能有10-20个用户。
答案 0 :(得分:8)
表现不佳有很多可能的原因,我们可以提出很多建议。例如,我们可以谈论磁盘碎片。我们可以讨论您拥有的Domino版本(您没有提及)和可能的升级。我们可以讨论你的服务器的i / o子系统......
但第一个也是最明显的问题是你有太多观点 !!事实上,对于Notes数据库来说,30,000个文档根本不合理,即使每天都有大量新的和编辑过的文档。在相当基本的硬件上正确设计和维护的数据库,这应该执行得很好。我已经看到拥有100,000或更多文档的数据库,每天有成千上万的新文档和已删除的文档都可以正常运行,但是我也看到它们表现不佳,例如,删除存根没有经常被清除。
但我已经离题了....你有太多的看法,简单明了。这就是你必须开始的地方。无论你做什么,我都可以保证,与具有20个视图的数据库相比,具有200个视图的数据库将表现不佳。由于设计不佳,你的一些观点可能确实是问题,所以你需要看看它们中的每一个;但即使在你看到设计之前,你也要问:为什么这个观点在这里?谁需要它?如果我删除它,有人会注意到吗?是否有不同的观点或更好的方式来满足这种观点遇到的任何需求?
答案 1 :(得分:3)
要检查的几件事情:
确保您的视图选择公式和列公式都不包含任何日期时间函数,如@now
在“高级”选项卡集上检查视图属性: 刷新:首次使用后自动 丢弃:如果不活动45天
删除更新代理,服务器应该能够处理索引。
答案 2 :(得分:3)
首先定义“性能”。你在谈论开放观点吗?或者当你运行代码时它很慢? 正如里奇在答案中已经说过的那样,你的观点太多了。 30,000个文档什么都没有,我有数百万个文档的数据库和大约100个视图,它们工作正常。 我怀疑你可能有一个设计糟糕的应用程序。也许您在视图中使用日期/时间函数,GetNthDocument(),在表单上使用多个@DbLookup等?
首先阅读Andre Guirard撰写的这份白皮书:http://www.ibm.com/developerworks/lotus/documentation/d-ls-notesperformance/
在这里:http://www-01.ibm.com/support/docview.wss?uid=swg27008849