【问题标题】:Reading entire table from data base从数据库中读取整个表
【发布时间】:2014-10-03 00:01:10
【问题描述】:

我的用例是我需要从表中读取所有行并填充缓存(可能不是理想的缓存,但这就是我的用例)。在这种情况下,我必须对数据库进行分页查询还是只发出select * 并使用一些合理的提取大小?请指教。

【问题讨论】:

  • 那么,这张桌子有多大?
  • 300 万开始。预计会变得更大
  • 这会将它带入缓存,然后将其从缓存中老化。您实际上是否有特定的性能问题需要解决?也许您应该阅读以下内容:stackoverflow.com/questions/15975921/…。或者您可能需要使用此 IMDB 技术:oracle.com/webfolder/technetwork/tutorials/obe/db/timesten/…
  • 我的数据大部分是静态的,我想放置整个数据集或其中的大部分以便更快地访问。所以衰老对我来说不是问题。我只会在服务启动时加载这些数据。
  • 当客户端告诉我删除它时,我明确地将它从缓存中删除。说那个特定的数据项没有被使用,软删除。

标签: database oracle pagination


【解决方案1】:

如果您需要整个表(假设您有足够的内存),那么只需执行 Select * ,这样您就不会通过执行多个选择和限制获取大小来多次对数据库造成压力。再次有权衡。通过这样做,用户将在那里等待,直到数据库返回所有内容并得到处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多