【问题标题】:Oracle from java, select all table with blob column affect perfomance?oracle from java, select所有带有lob列的表影响性能?
【发布时间】:2018-01-17 22:21:27
【问题描述】:

我正在为兽医开发一个 Java SE 应用程序。

我有一个表名宠物,每个宠物都有一张照片是一个blob列,问题是,选择所有宠物的照片列会影响应用程序的性能吗?。

在应用程序中,我将查询结果传递给我正在考虑的 Pet 对象,当有很多行时,内存中的照片会影响性能。

【问题讨论】:

  • 您编写了查询并对其进行了大概测试。你告诉我们,它有性能问题吗?
  • 不要在主表中放置 blob。

标签: java performance memory oracle11g blob


【解决方案1】:

一般来说,它不应该影响性能。很多。 Blob 最终只是指向 IO 流的指针。当您实际开始加载照片时,性能就会受到影响,这将开始执行 IO 操作。问题是,你什么时候真正需要图像数据?

正如 Thorbjorn 指出的那样,您可能不应该将 blob 放在主表中。要么系统必须维护 blob 指针表,要么你的对象将不得不加载它可能还不需要的图像数据。最好有一个带有“imageID”列或类似内容的单独表。然后添加一个“Pet.loadImage()”方法,或者可能是一个事件触发器,它将根据需要加载图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 2018-11-29
    • 1970-01-01
    • 2014-02-14
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多