Размеры полей таблицы Paradox

Материал из DRKB

Размеры полей таблицы Paradox[править | править код]

Данная общая информация могла бы быть полезной при вычислении максимального размера записи для установки размера каждого блока.

Требования к предельным размерам типов полей таблицы Paradox

Данный список указывает количество байт каждого типа поля таблицы Paradox, занимаемое в структуре записи. Имейте в виду, что указанный размер занимает каждое поля в самом файле .DB, не во вспомогательных файлах типа .MB.


Тип данных Байт
Alphanumeric 1 байт на символ, до 255
AutoIncrement 4 байта
Binary (BLOB) 10 байт + 1 на символ. В пределе (0 - 240) [1]
Bytes 1 на символ, максимально до 255.
BCD 17
Currency (Денежный) 8
Date 4
Formatted Memo 10 байт + 1 на символ. В пределе (0 - 240)
Graphic 10 байт + 1 на символ. В пределе (0 - 240)
Memo 10 байт + 1 на символ. В пределе (1 - 240) [2]
Logical 1
LongInt 4
Numeric (Числовой) 8
OLE 10 байт + 1 на символ. В пределе (0 - 240)
SmallInt 2
Time 4
TimeStamp 8
Пределы
Maximum Field Count

(максимальное количество полей)

255 полей
Maximum Blocks per table

(максимальное количество блоков в таблице)

64К
Maximum Block Size

(максимальный размер блока)

32К символов
Max Record Size, unkeyed

(максимальный размер записи, неключевой)

Текущий размер блока - 6 байта [3]
Max Record Size, keyed

(максимальный размер записи, ключевой)

(BlockSize - 6) / 3, округляется в меньшую сторону

до ближайшего размера блока. [4]

Сноски:

[1] Все blob-поля содержат 10-байтовые указатели на .MB-файл, которые указывают где могут быть найдены "остальные" значения поля.

[2] В отличие от данных "blob"-типа, Memo-поле требует по крайней мере один "Memo"-символ, сохраненный в .DB-файле, для обеспечения совместимости с Paradox for DOS.

[3] Размер блока по умолчанию хранится в IDAPI.CFG. Для изменения значения по умолчанию, запустите Configuration Utility и измените установку Tables, Paradox, Block Size. Значение по умолчанию 2048 и может изменяться в диапазоне от 1024 до 32К. 6 байтов в данном значении резервируются для внутренних указателей.

[4] Это следствие наличия значений ключа записей Paradox, которые передаются в .PX файл, очень похожий на табличный файл. Размер ключа не может превышать 1/3 размера блока таблицы; в противном случае Paradox будет пытаться увеличить размер блока. При выполнении вычислений не забывайте брать в расчет 6-байтные указатели.


Author: John B Moore
Source: Взято из Советов по Delphi от Валентина Озерова
ID: 02950