gpt4 book ai didi

.net - 存储很少更改但经常访问的数据,这是解决方案吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:43:03 25 4
gpt4 key购买 nike

我的 Oracle 数据库包含一些简单的、很少更改的数据(它需要大约几个月甚至几年的时间才能更改)。但它经常被访问(数百次/天)。我认为在数据库中连续访问它很昂贵。

编辑:我正在考虑另一种方法来存储此数据,而不是在数据库中,例如,将其存储在我的应用程序的缓存中,但我真的对数据一致性感到困惑。我怎样才能有效地做到这一点?

编辑:我原来的问题太笼统了。我想更清楚地解释一下:

我有一个表,其中包含:

MinValue       MaxValue       PackageID
1 4 1
5 10 2
11 50 3

当客户端向我们的服务发送请求时,它会发送金额,然后我们的服务必须确定该请求属于哪个包。这取决于数量,并且可能会因业务需要而更改(正如我之前提到的,它很少更改)。

我使用此查询来执行此操作:

select packageid from vmeet_temp where amount between minvalue and maxvalue

是的,它确实有效。但是由于我是一个没有经验的程序员,我怀疑是否有更有效的方法来存档它。

所以我的问题是:为了我们的需要,我们是否应该将这些信息存储在数据库中?如果不是,应该采用哪种解决方案?

最佳答案

将其存储在表中,让 DBMS 来操心。它有缓存,擅长确保经常使用的数据存储在内存中,因此不需要去磁盘。如果你真的想要,你可以将数据加载到你的应用程序中——你冒着数据过时的(小)风险。但一般来说,让 DBMS 操心它,它会为您解决问题。

如果表只有 10 行,并且行的大小适中(每行最多几百字节),那么 DBMS 可能不会费心使用索引,即使您创建了一个索引——它知道它会直接使用表格更简单高效。即使是头脑简单的优化者也能做到这一点。显然,如果您强行使用带有错误提示的索引,那么您将付出性能损失。如果留给它自己的设备,优化器不太可能使用索引。

关于.net - 存储很少更改但经常访问的数据,这是解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4320676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com