Character large object
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, 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 vary in their storage patterns for CLOBs. Some systems always store CLOBs as a reference to out-of-table data, while others store small CLOBs in-table, changing their storage patterns when the size of the data grows beyond a threshold. Other systems are configurable in their behavior.
PostgreSQL 15.0: unsupported but it can be easily defined as a synonym to the text type with:
create domain CLOB as TEXT;
MariaDB 10.8: supported
MySQL 8.0: support unknown. There used to be a CLOB mentioned in the manual but the data type is no longer mentioned in later manuals.
- ^ "Oracle CLOB in JavaDB". docs.oracle.com. Retrieved 2018-08-16.
- ^ "IBM Informix CLOB". www.ibm.com. Retrieved 2018-08-16.
- ^ "P manual, D.2. Unsupported Features".}
- ^ "MariaDB manual, CLOB data type".
- ^ "MySQL manual, 11.7 Data Type Storage Requirements".
- ^ "Stackoverflov, MySQL TEXT vs BLOB vs CLOB".