Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Приложение 7. Ограничения Firebird
Приложение 7. Ограничения Firebird
Большинство фактических ограничений Firebird практически шире того, что нужно в программах. Например, вы можете определить до 32 767[169] столбцов в таблице, однако зачем вы будете это делать? В табл. 7.1 представлены теоретические и практические ограничения, применимые к Firebird 1.0.x и 1.5. Некоторые из этих ограничений будут изменены в сторону улучшения в следующих версиях, так что просматривайте заметки по релизу, чтобы отследить изменения.
Таблица П7.1. Ограничения Firebird 1.0.x и 1.5
Объект |
Элемент |
Firebird 1.0.x |
Firebird 1.5 |
Замечания |
Идентификаторы |
Почти все объекты |
31 символ |
31 символ |
Нельзя использовать символы вне диапазона US ASCII (ASCIIZ) |
Имена ограничений |
27 символов |
27 символов |
||
Даты |
Самые ранние и самые поздние даты |
января 100 г. |
||
Самая поздняя |
31 декабря 9999 г. Замечание: считается, что сервер может аварийно завершаться, если системная дата на сервере установлена больше, чем 2039[170]. |
|||
Сервер |
Максимальное количество подключенных клиентов[171] |
024 (TCP/IP) |
024 (TCP/IP) |
Теоретическое ограничение меньше для Windows с именованными каналами (NetBEUI) - сервер, скорее всего, зависнет при более чем 930 одновременных соединениях. Практически нормальным будет не более 150 одновременных подключений клиентов Суперсервера при обычных интерактивных приложениях для сервера с низкими спецификациями. Для Классического сервера это количество может быть меньше по причине того, что каждый клиент использует больше ресурсов |
Максимальное количество баз данных, открытых в одной транзакции |
Количество баз данных, открытых при запуске транзакции с помощью isc_start_multiple(), ограничивается только доступными системными ресурсами. Транзакция, запущенная с помощью isc start transaction(), ограничивает количество одновременно подключенных баз данных 16 |
|||
База данных |
Количество таблиц |
32 767 |
32 767 |
|
Максимальный размер |
7 Тбайт |
7 Тбайт |
Приблизительное теоретическое ограничение. Не известна база данных Firebird с таким количеством записей, чтобы ее размер превышал 7 Тбайт |
|
Максимальный размер файла |
Зависит от файловой системы. В FAT32 и ext2 2 Гбайт. Более старая NTFS и ext3 обычно дают 4 Гбайт. Многие 64-битовые файловые системы не устанавливают ограничений на размер файла с совместным доступом |
|||
Максимальное количество файлов в базе данных |
Теоретически 216 (65 536) включая файлы оперативной копии (shadow). Порог будет ниже, если операционная система накладывает ограничения на количество файлов, которое может быть одновременно открыто в одном процессе. Некоторые позволяют увеличить эту границу |
|||
Максимальный размер страницы |
16 386 байт |
16 386 байт |
Другими размерами являются 1024, 2048, 4096 (по умолчанию) и 8192 байт |
|
Максимальное количество буферов кэша |
65 536 страниц |
65 536 страниц |
Практическое ограничение зависит от доступного объема RAM. Общий размер (страницы * размер страницы для Суперсервера, страницы * размер страницы * количество одновременных пользователей для Классического сервера) никогда не должен превышать половины доступной памяти RAM. Рассматривайте в качестве практического ограничения 10 000 страниц и увеличивайте или уменьшайте, отходя от этого количества, в соответствии с требованиями производительности |
|
Таблицы |
Максимальное количество версий для структуры таблицы |
255 |
255 |
Firebird сохраняет не более 255 форматов для каждой таблицы. Версия формата увеличивается на 1 каждый раз, когда выполняется изменение метаданных. Когда таблица достигает ограничения, вся база данных становится недоступной - нужно сделать ее резервную копию и выполнить восстановление |
Максимальный размер строки |
64 Кбайт |
64 Кбайт |
Подсчитывается в байтах. Столбцы массивов и BLOB каждый занимает 8 байт для хранения идентификатора; VARCHAR - длина в байтах + 2; CHAR - длина в байтах; SMALLINT - 2; INTEGER, FLOAT, DATE и TIME - 4; BIDINT, DOUBLE PRECISION и TIMESTAMP - 8; NUMERIC и DECIMAL - 4 или 8 в зависимости от точности. Системные таблицы имеют ограничение на размер страницы 128 Кбайт |
|
Максимальное количество строк[172] |
2(^32^) строки |
2(^32^) строки |
Больше или меньше. Строки под- считываются с помощью 32-битового беззнакового целого для таблиц и 32-битового для индекса. Таблица с длинной строкой - имеющая много полей или с очень длинными полями - может хранить меньше строк, чем таблица с очень короткими строками. Все строки - включая удаленные - попадают в это число; поля BLOB, хранимые на страницах данных таблицы, также входят в это число |
|
Максимальное количество столбцов |
Зависит от используемых типов данных (см. Максимальный размер строки) |
|||
Максимальное количество индексов на таблицу |
64 |
256 |
||
Максимальный размер внешнего файла |
4 Гбайт в Windows NTSF, 2 Гбайт в Windows FAT32, Linux ext2, ext3 и Solaris |
|||
Индексы |
Максимальный размер[173] |
252 байт |
252 байт |
Этот теоретический максимум применяется к индексу из одного столбца, где набор символов является однобайтовым и использует порядок сортировки по умолчанию (двоичный). Подсчитываются байты, а не символы. Практический максимум уменьшается для составных индексов, многобайтовых наборов символов и сложных порядков сортировки. Например, индекс для одного столбца, использующего 3-байтовые символы UNICODE_FSS, может иметь максимум (253/3) = 84 символа. Некоторые последовательности сортировки для ISO8859 используют до 4 байт на символ только для атрибутов сортировки |
Максимальное количество сегментов |
16 |
16 |
||
Запросы |
Максимальное количество соединяемых таблиц |
256 |
256 |
Теоретическое ограничение |
Максимальное количество вложенных подзапросов |
Теоретически предела нет, но большая вложенность подзапросов ухудшает производительность. Производительность и потребление ресурсов определяется практическими лимитами, конкретно для каждого запроса |
|||
Максимальный размер столбца, составляющего поля ORDER BY |
32 Кбайт |
32 Кбайт |
||
Модули PSQL |
Максимальный размер BLR |
48 Кбайт |
48 Кбайт |
Текст хранимых процедур и триггеров компилируется в байт-код (BLR), который более компактен, чем исходный текст. Если вы все- таки обнаружили ограничение, попробуйте разбить вашу монументальную процедуру на несколько частей, вызываемых из главной процедуры |
Максимальное количество событий в процедуре или триггере |
Нет ограничения |
Нет ограничения |
Практический лимит совпадает с ограничением на размер BLR |
|
Количество рекурсивных вызовов |
750 на Windows, 1000 на платформах POSIX |
|||
BLOB |
Максимальный размер BLOB |
Максимум зависит от размера страницы. Для страницы 2 Кбайт максимальный размер - 512 Мбайт. Для 4 Кбайт - 4 Гбайт. Для страниц размера 4 и 8 Кбайт - 32 и 256 Гбайт соответственно |
||
Максимальный размер сегмента |
BLOB хранятся посегментно, теоретический максимальный размер которого не более 64 Кбайт. В DSQL нет возможности указать размер сегмента, поскольку его устанавливает клиентская программа или библиотека-компонент, как правило, игнорируя размер сегмента, указанный в определении BLOB |
- Приложение 1. Список внешних функций
- Приложение 2. Решение сетевых проблем
- Приложение 3. Интерфейсы приложений
- Приложение 4. Как выполнять ремонт базы данных
- Приложение 5. Инструменты администрирования
- Приложение 6. Пример базы данных
- Приложение 7. Ограничения Firebird
- Приложение 8. Наборы символов и порядков сортировки
- Приложение 9. Системные таблицы и просмотры
- Приложение 10. Коды ошибок
- Приложение 11. Зарезервированные слова
- Приложение 12. Литература и источники
- Глоссарий
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Firebird 2.0 - взгляд в будущее
- Приложение 9 Акт выполненных работ (к Договору на оказание информационных услуг)
- Приложение 21 Образец должностной инструкции начальника отдела по работе с сетевыми клиентами
- Приложение 19 Образец должностной инструкции мерчендайзера
- 4. Ограничения ссылочной целостности
- Приложение I Диаграммы взаимовлияния
- Приложение 10. Коды ошибок
- Приложение 1 Оптические процессоры
- Приложение 1 Тестирование ПК при включении
- Приложение 2 Интернет-ресурсы
- Приложение 3 Производители компьютерного оборудования в Интернете