Discussions
Categories
- 197.1K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.7K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 555 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.3K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 466 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Opinions re: storing LOBs in a separate tablespace

Oracle 21c on Windows 11 64-bit laptop.
In our application, we use LOBs to store data as follows:
- Blobs - storing month-end statements, customer characters, usually containing bitmap images, company logos, etc.
- Clobs - storing large text-only data
The data in these LOBs is usually very static after initial creation; if a change is required, we usually delete the existing LOB and create a new one.
Is it worthwhile to store these LOBs in a separate tablespace, wondering about additional I/O required to access these LOBS.
Opinions, please.
Thanks
Murray
Best Answer
-
I wish I'd found that paper about 15 years ago, it would have saved me a little time working out a couple of the mechanism for myself. I wouldn't push it as a guideline any more, though, as it is only about basicfile LOBs and omits a number of things that could make a big difference to someone using securefile LOBs.
Regards
Jonathan Lewis
Answers
-
Is it worthwhile to store these LOBs in a separate tablespace, wondering about additional I/O required to access these LOBS.
Why would there be additional IO???
-
it doesn't matter if LOB SEGMENT is using the same tablespace as of table or not.
MAkesure you use SECUREFILE LOB for performance gains.
Also read following white paper to understand the parameters that impacts the performnace
-
There is a hypothesis that storing LOBs in 32KB block size tablespace improves performance. I am not convinced.
-
I am not convinced.
Oh, I'm pretty sure it is there. But, the performance gain is in the same ballpark of
count(*)
vscount(1)
. (in other words not much.) -
You could argue for putting each LOB segment in its own tablespace on the basis that they make it difficult to do any re-organisation of the tablespace they're in; and while you hope that you won't have to rebuild indexes, move tables etc. It is a good idea to plan for accidents - and having a LOB mixed in with a load of other objects may become a great inconvenience.
There's also the point - depending on your application and the scale of your operation - that you might have a good reason for putting your LOBs on different storage from the rest of database.
And, as has been mentioned, you could have a good reason for using a different block size for your LOBs, which means a separate tablespace and a separate buffer cache. (There's an example here, though, where the client made a bad choice with a non-standard block size.)
Regards
Jonathan Lewis
-
I wish I'd found that paper about 15 years ago, it would have saved me a little time working out a couple of the mechanism for myself. I wouldn't push it as a guideline any more, though, as it is only about basicfile LOBs and omits a number of things that could make a big difference to someone using securefile LOBs.
Regards
Jonathan Lewis