System-specified storage characteristics

The database administrator establishes system-specified storage characteristics when he or she initializes the database server and creates an sbspace with the onspaces utility, as follows:
  • If the onspaces utility has specified a value for a particular storage characteristic, the database server uses the onspaces value as the system-specified storage characteristic.
  • If the onspaces utility has not specified a value for a particular storage characteristic, the database server uses the system default as the system-specified storage characteristic.

The system-specified storage characteristics apply to all smart large objects that are stored in the sbspace, unless a smart large object specifically overrides them with column-level or user-specified storage characteristics.

For the storage characteristics that onspaces can set, as well as the system defaults, see Specifying disk-storage information and Specifying attribute information.
For most applications, it is recommended that you use the system-specified default values for the storage characteristics. Note the following exceptions:
  • Your application needs to obtain extra performance.

    You can use setXXX() methods in ifxLobDescriptor to change the disk-storage information of a new smart large object. For more information, see Set create flags.

  • You want to use the storage characteristics of an existing smart large object.

    The IfxLoStat.getLobDescriptor() method can obtain the large-object descriptor of an open smart large object. You can then create a new object and use the IfxSmartBlob.ifxLoAlter() method to set its characteristics to the new descriptor. For more information, see Changing the storage characteristics.

  • You are working with more than one smart large object and do not want to use the default sbspace.

    The DBA can specify a default sbspace name with the SBSPACENAME configuration parameter in the onconfig file. However, you must ensure that the location (the name of the sbspace) is correct for the smart large object that you create. If you do not specify an sbspace name for a new smart large object, the database server stores it in this default sbspace. This arrangement can lead to space constraints.

  • If you know the size of the smart large object, specify this size in your application using the IfxLobDescriptor.setEstBytes() method instead of in the onspaces utility (system level) or the CREATE TABLE or the ALTER TABLE statement (column level).