Разбивка таблицы с большим количеством полей на 2 части.

Модераторы: kdv, CyberMax

Ответить
sasha35
Сообщения: 13
Зарегистрирован: 30 окт 2008, 21:11

Разбивка таблицы с большим количеством полей на 2 части.

Сообщение sasha35 » 07 сен 2011, 19:17

Имеет ли смысл разбить таблицу, в которой часть полей (примерно 10) используется часто и часть полей (примерно 30)используется редко? (на 1000 запросов к первым полям 1 запрос ко второй части). То есть из одной таблицы с 40 полями сделать две таблицы, соответственно по 10 и 30 полей. Будет ли какой-нибудь выигрыш в быстродействии?

Имеет ли смысл blob поля хранить в отдельной таблице? Например, каталог товаров с параметрами в одной таблице, а изображения в другой. Таблицы связаны один к одному. Каждому товару соответствует по одной записи в каждой таблице.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Разбивка таблицы с большим количеством полей на 2 части.

Сообщение kdv » 07 сен 2011, 21:01

про поля:
если заполненная часть полей используется часто, таблица большая, и т.д., то смысл имеет. Выигрыш зависит в соотношении размеров таблицы с заполненными полями и таблицы с "пустыми полями". Разницу в размерах можно увидеть в IBAanalyst.

про блобы:
см. справку в IBAnalyst по F1 - Дополнительные вопросы и ответы, пункт 5 - Blob-ы могут вызвать фрагментацию таблиц. Опять же, зависит от того, насколько часто требуется блоб вытащить одновременно с записью. Если как в случае с полями выше - то блобы лучше вынести. Понятно, что например для веба для вывода описания товара с картинкой или придется выполнять 2 отдельных запроса (но быстрых), или писать join.

sasha35
Сообщения: 13
Зарегистрирован: 30 окт 2008, 21:11

Re: Разбивка таблицы с большим количеством полей на 2 части.

Сообщение sasha35 » 08 сен 2011, 20:46

Спасибо! Буду думать....

Ответить