The difference in
space estimation comes in calculating the space used per row, because an index-organized table
does not have RowIDs.
The following listing gives the calculation for the space requirement per row for an indexorganized
table (note that this storage estimate is for the entire row, including its out-of-line storage):
Row length for sizing = Average row length
+ number of columns
+ number of LOB columns + 2 header
bytes
Enter this value as the row length when using the CREATE_TABLE_COST procedure for the indexorganized
table.
Sizing Tables That Contain Large Objects (LOBs)
LOB data (in BLOB or CLOB datatypes) is usually stored apart from the main table. You can use
the lob clause of the create table command to specify the storage attributes for the LOB data, such
as a different tablespace. In the main table, Oracle stores a LOB locator value that points to the
LOB data. When the LOB data is stored out of line, between 36 and 86 bytes of control data
(the LOB locator) remain inline in the row piece.
Oracle does not always store the LOB data apart from the main table. In general, the LOB
data is not stored apart from the main table until the LOB data and the LOB locator value total
more than 4000 bytes. Therefore, if you will be storing short LOB values, you need to consider
their impact on the storage of your main table. If your LOB values are less than 4000 characters,
you may be able to use VARCHAR2 datatypes instead of LOB datatypes for the data storage.
Pages:
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275