Oracle BLOB vs VARCHAR

мне нужно сохранить (большой) SQL-запрос в столбце таблицы, и я подумал, используя

4 ответов


Если вы собираетесь хранить текстовые данные, которые не могут поместиться в VarChar2 тогда, я думаю, вы должны использовать CLOB.

цитата OraFaq: *CLOB (символьный большой объект) - это тип данных Oracle, который может содержать до 4 ГБ данных. CLOB удобны для хранения текста. *


другой вариант-CLOB. Для текстовых данных более логично использовать CLOB, чем BLOB. Даже если вам не нужно анализировать данные в базе данных, все равно имеет смысл использовать CLOB, потому что даже просмотр данных проще.

некоторые функции доступны только с помощью VARCHAR. Например, вы можете создать индекс только на столбцах VARCHAR (я не говорю о полнотекстовом индексе здесь, я знаю, что вы можете создать полнотекстовый индекс на столбце CLOB). У вас не может быть CLOB или BLOB primary ключ (я думаю, вам это не нужно; просто в качестве примера).

большинство операций VARCHAR намного быстрее, чем операции CLOB / BLOB. Даже чтение данных быстрее, если вы используете VARCHAR (если в столбце действительно много текста). VARCHAR требует меньше накладных расходов памяти, но они обычно будут полностью прочитаны в памяти, поэтому в конце VARCHAR может использовать больше памяти.


короткие строки → VARCHAR

длинные строки → CLOB

двоичные данные → BLOB


Они оба разные.

вы используете BLOB хранить двоичные данные как изображение, аудио и другие мультимедийные данные.

и VARCHAR для хранения текста любого размера до предела.