Размеры полей таблицы 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