Size: a a a

2020 September 30

A

Al in Oracle RU
В sqlite работает
источник

A

Al in Oracle RU
Не пишешь ничего. Один хер там набор байт😂
источник

D

DimSan in Oracle RU
Al
И так зачем же нужно указывать максимальную длинну если по факту длинна один хер какая получится
Есть подозрение, что это из той же оперы, в которой срабатывают фулсканы на больших выборках в обход индексов
источник

D

DimSan in Oracle RU
Скорее всего имеется определённый механизм оптимизации, которому для работы надо знать сколько максимальный размер
источник

D

DimSan in Oracle RU
Опять жи, толку считать, нужно же это ваихнуть в пга
источник

D

DimSan in Oracle RU
А сколько памяти надо выделить? А выделить её надо до чтения с диска
источник

D

DimSan in Oracle RU
И скорее всего, там какие-то статистические инструменты используются
источник

キG

キリル Gashkov in Oracle RU
Dmitry Comanda
Типичный размер блока - 8k, если нужны "резиновые" строки - есть CLOB, который в блоке данных таблицы хранит только LOB locator, а данные как раз отдельно в LOB segment
первые 4к хранятся в строке
а все что сверх того уже в лоб-сегменте
источник

У

Уруруборос Иванович... in Oracle RU
キリル Gashkov
первые 4к хранятся в строке
а все что сверх того уже в лоб-сегменте
Не всегда
источник

キG

キリル Gashkov in Oracle RU
если явно указать только при конструировании столбца
источник

キG

キリル Gashkov in Oracle RU
по умолчанию имено так работает
источник

DC

Dmitry Comanda in Oracle RU
Al
И так зачем же нужно указывать максимальную длинну если по факту длинна один хер какая получится
Без ограничения по длине varchar превращается в CLOB, а для LOB-ов у Оракла целый ряд ограничений
источник

DC

Dmitry Comanda in Oracle RU
источник

DC

Dmitry Comanda in Oracle RU
Часть из них завязаны на размер блока - если данные одной строки занимают больше, чем блок данных, то такой блок данных уже неоптимален для их хранения, аналогично индексы по таким данным потеряют эффективность
источник

DC

Dmitry Comanda in Oracle RU
Даже не блок данных, а меньше, т.к. часть занимают метаданные, ITL и т.п.
Отсюда ограничения на хранение Inline до 4k, про которое выше писали, отсюда ограничение на размер primary key и т.д.
источник

DC

Dmitry Comanda in Oracle RU
Да и организовать работу с типом данных в коде СУБД тем проще, чем больше у него ограничений
источник

DC

Dmitry Comanda in Oracle RU
SQLite же не про оптимальность
источник

DC

Dmitry Comanda in Oracle RU
А в табличке на пару сотен GB и выше любое лишнее раздутое поле выльется в перерасход ресурсов, в первую очередь ввода/вывода который обычно в оракловых БД основное узкое место
источник

DC

Dmitry Comanda in Oracle RU
Ну и варианты a la "исторически сложилось" влияют, продукт же начинался в конце 70-х, в таком что-то кардинально поменять - слишком дорого
источник

DC

Dmitry Comanda in Oracle RU
Даже увеличенный varchar2 начиная с 12-й версии сделали на базе LOB Storage
источник