Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Firebird, Interbase > Влияние размера полей на размер файла |
Автор: gesper 22.11.2023, 17:59 |
Подскажите, если поле varchar имеет длину 250 или 128 символов, то размер конечного файла с заполненными полями будет одинаковый или нет? Файл согласно размерности поля размещается сразу по емкости, или параметр длины просто ограничивает максимум? |
Автор: gesper 22.11.2023, 20:53 | ||
Почему? Если взять слово "Арбуз" и две БД с 1 млн. строк. Но у них отличие будет в заданном кол-ве символов в поле. Физический размер на диске будет одинаковый или нет? Причем тут блок и запись? В самой идеологии БД какую цель несет этот размер. Вопрос больше из-за того, насколько сильно нужно делать поля малой длины(32,64,128), если это не влияет на размер файла. |
Автор: Akina 23.11.2023, 19:41 |
Одна таблица в базе, в таблице одно поле, и во всём миллионе записей в нём слово "Арбуз"? ну что за бред-то... Кстати, вот именно это - какая БД будет больше и во сколько раз, если в ней одна таблица с описанными структурой и данными,- быстрее проверить на практике, чем спрашивать. |
Автор: gesper 24.11.2023, 02:44 |
Т.е. это нормально по твоему не разбираясь в архитектуре БД писать какие то "умные" посты, называть бредом разжеванный до мелочей вопрос, а потом посылать человека "иди разбирайся сам"? Ясно почему форум дохлый. |
Автор: Akina 24.11.2023, 08:13 |
Нет, вот что непонятно во фразе "Поле занимает ровно столько, сколько нужно для размещения значения (с учётом байта длины)."? Задавая вопрос, будь готов понять ответ. Не понял - переспроси, точно указав то, что непонятно. А возмущаться, что не понял - так кто ж в том виноват-то? Файл базы делится на блоки. В блоке размещаются метаданные либо отдельные записи либо блоки индекса. Причём не все записи в блоке - действующие, пространство, занимаемое удалёнными записями, не "схлопывается" сразу, и не переиспользуется до расщепления либо слияния блока. Обычно процент заполнения по умолчанию поддерживается на уровне 85-90%, но в интенсивно модифицирующейся БД может опускаться аж до 40-45%, а порой и ещё ниже. И да - без внимательного чтения документации это можно лишь узнать и запомнить, но не понять. |