2017-08-09 11 views
-2

我正在开发一个适用于兽医的Java SE应用程序。Oracle从java中选择所有带blob列的表影响性能?

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

在应用程序中,我将查询结果传递给宠物对象,我想有很多行时,在内存中收取的照片会影响性能。

+0

您编写了查询并进行了测试。你告诉我们,它有没有性能问题? – SandPiper

+0

请勿将斑点放在主表中。 –

回答

0

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

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