оптимизация и скорость insert'ов

oss
Дата: 02.10.2005 02:31:37
Есть база под Яфилом, работает уже года два. Один-два раза в месяц, я делаю дамп базы ввиде sql файла (В ДАМП ВХОДЯТ ВСЕ МЕТАОБЪЕКТЫ И ДАННЫЕ), а потом создаю из этого файла базу, тем самым избаляюсь от мусора (объем уменьшается где-то на 10-20 метров). Но последние полгода стал замечать что очень тормозить стали Insert'ы, таблицы куда они делаются имеют по 50-70 тыс записей и еще связаны ключами с 5-7 таблицами.
Вопрос в том, как можно уменьшить время insert'ов ?
kdv
Дата: 02.10.2005 09:13:09
тем самым избаляюсь от мусора


от какого "мусора"?

Вопрос в том, как можно уменьшить время insert'ов ?


надо перестать парить мозги, и делать обычный b/r.
oss
Дата: 03.10.2005 02:16:27
автор
от какого "мусора"?

до обработки база была 100мб, после стала 80мб.
и уже очищенная первым способом, после b/r она стала 85мб!
AndriyKo
Дата: 03.10.2005 03:12:22
oss
автор
от какого "мусора"?

до обработки база была 100мб, после стала 80мб.
и уже очищенная первым способом, после b/r она стала 85мб!

5 метров, что, сильно важно ? А инсерт тормозит, видимо, из-за кривоватого кода клиента. Вкратце, инсертить нужно препаренными параметризованными запросами, и коммит делать один раз на 1000-2000 записей. Самый же быстрый способ инсерта - через External tables.
Гаджимурадов Рустам
Дата: 03.10.2005 03:15:03
Ну 5 мегабайт ниоткуда не могли взяться.
Наверное ты поработал с БД - оттуда и взялись твои лишние меги.
Или бэкап снимал при подключенных пользователях. Или еще что-нибудь.

Просто твой случай - типичный бекап-рестор (лучше без свипа кстати).
Отресторенная БД должна мало отличаться от твоей "новосозданной" по скрипту.