ReadOnly数据库的性能更佳

时间:2011-07-18 01:56:54

标签: database performance

我在我的应用中使用Firebird。有一个数据库每天接收一次负载。其余时间查询是只读的(选择查询)。

有没有办法改善表现?例如,我不需要数据库的并发控制,因为我只会进行SELECT次查询。

由于

3 个答案:

答案 0 :(得分:1)

由于数据库中有大量读取,因此必要时可以大量使用索引。这可以加快查询过滤和排序。

数据库引擎自动管理并发,如果只有SELECT个查询,则不会锁定数据库对象。因此,我认为您不应该将此区域视为提高性能的方法。

答案 1 :(得分:1)

每天需要多少数据库?您可能正在阅读一小部分数据,因此您可以在应用程序层缓存数据并完全保存数据库调用。

由于数据库中的记录是只读的,因此可以使用SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED并防止对表进行任何锁定。这大部分时间都显着提高了可扩展性。我现在把它放在我所有读取的SP上,因为它已经多次保存了我。

答案 2 :(得分:0)

假设加载过程可能很长,您可以在其末尾重建索引。这将删除所有索引碎片,并可以提高选择性能。