Бързодействие
3 отговора
131 прегледа
Бързодействие
Накратко -> Делфи 6, ФайърБърд 1.5, база около 50 МБ с 5 таблици с по 200 000 записа. Драйвери за връзка IBx. SQL диалект 1, page size 2096.
Искам да попитам - нормално ли е 10 000 записа да ги инсъртва за минута и половина. И още - как може да се забърза.
Благодаря предварително.
Искам да попитам - нормално ли е 10 000 записа да ги инсъртва за минута и половина. И още - как може да се забърза.
Благодаря предварително.
Re: Бързодействие
>нормално ли е 10 000 записа да ги инсъртва за минута и половина
Зависи, аз съм постигал и "по-добри" резултати
>как може да се забърза
Без претенции за изчерпателност
- page size кратен на клъстера мин.4096 (аз ползвам обикновено 8192)
- по възможност - инсъртвай в транзакция по около 1000 записа. Експеримента ще ти покаже оптимума.
- при масови операции деактивирай индексите. Прегледай дали нямаш индекси с лоша селективност.
- не се увличай с constraints. Ако е възможно при масови операции ги изключвай.
- Деактивирай ненужните тригери.
- Разбира се трябва да са изключени визуализиращите компоненти и кеширането на клиента
- Ако е възможно при масова операция разкарай другите усери от базата.
10 000 inserta не бих казал, че е масова операция, но щом ти създава такъв проблем няма да ти навреди да поекспериментираш с горните фактори.
Успех

Зависи, аз съм постигал и "по-добри" резултати
>как може да се забърза
Без претенции за изчерпателност
- page size кратен на клъстера мин.4096 (аз ползвам обикновено 8192)
- по възможност - инсъртвай в транзакция по около 1000 записа. Експеримента ще ти покаже оптимума.
- при масови операции деактивирай индексите. Прегледай дали нямаш индекси с лоша селективност.
- не се увличай с constraints. Ако е възможно при масови операции ги изключвай.
- Деактивирай ненужните тригери.
- Разбира се трябва да са изключени визуализиращите компоненти и кеширането на клиента
- Ако е възможно при масова операция разкарай другите усери от базата.
10 000 inserta не бих казал, че е масова операция, но щом ти създава такъв проблем няма да ти навреди да поекспериментираш с горните фактори.
Успех
Re: Бързодействие
Мисля, че като промених page size стана доста по-добре.
Insert 10000 - 30 сек.
Update 10000 - 45 сек.
10x
Insert 10000 - 30 сек.
Update 10000 - 45 сек.
10x
Re: Бързодействие
И още, в реджистрито имаш настройки за колко памет да ти ползва FB-да, брой буфери и т.н. (за съжаление съм забравил как се казват, но ги има в документацията). Можеш да ги увеличиш, но не прекалявай че забива :-)
root@localhost#cd /pub
root@localhost#more beer
root@localhost#cd /pub
root@localhost#more beer