假设我们有一张关于人的信息的表格。像NAME或SURNAME这样的列很小(我的意思是它们的大小不是很大),但是包含照片或者某人视频(blob列)的列可能非常大。所以当我们执行选择操作时:Oracle如何执行读取操作?
select * from person
它将检索所有这些信息。但在大多数情况下,我们只需要检索名称或个人姓,所以我们执行这个查询:
select name, surname from person
问题:将甲骨文读取整个记录(包括BLOB列),然后简单地过滤掉名称和姓氏列,还是只能读名字和列名?
而且,即使我们创造了如此大的数据(人的照片和视频),一个单独的表,并在人的表的外键到表,并希望只检索照片,所以我们执行这个查询:
select photo
from person p
join largePesonData d on p.largeDataID = d.largeDataID
where p.id = 1
Oracle会读取largePesonData中的人员表和整个记录中的整个记录,还是只读取largePesonData中的照片列?
小于约4000字节的LOB可以与行一起内联存储。 (虽然图片和视频LOB可能会比这大得多。) –