Character large object

From HandWiki

A Character Large OBject (or CLOB) is part of the SQL:1999 standard data types. It is a collection of character data in a database management system, usually stored in a separate location that is referenced in the table itself. Oracle and IBM Db2 provide a construct explicitly named CLOB,[1][2] and the majority of other database systems support some form of the concept, often labeled as text, memo or long character fields.

CLOBs usually have very high size-limits, of the order of gigabytes. The tradeoff for the capacity is usually limited access methods. In particular, some database systems[which?] limit certain SQL clauses and/or functions, such as LIKE or SUBSTRING from being used on CLOBs. Those that permit such operations may perform them very slowly.

Alternative methods of accessing the data are often provided, including means of extracting or inserting ranges of data from the CLOB.

Database systems exhibit variations in their storage patterns for CLOBs. Certain systems consistently store CLOBs as references to external data, residing outside the table. In contrast, some systems initially store small CLOBs within the table itself, but switch their storage approach when the data size surpasses a specific threshold. Additionally, certain systems offer configurable options to adapt their behavior.

Implementations

PostgreSQL 15.0: unsupported[3] but it can be easily defined as a synonym to the text type with: create domain CLOB as TEXT;

MariaDB 10.8: supported[4]

MySQL 8.0: support unknown.[5] There used[6] to be a CLOB mentioned in the manual but the data type is no longer mentioned in later manuals.

Mimer SQL 11.0: supported.[7]

See also

References