Бързодействие на БД
12 отговора
350 прегледа
Бързодействие на БД
Накратко -> Делфи 6, ФайърБърд 1.5, база около 50 МБ с 5 таблици с по 200 000 записа. Драйвери за връзка IBx. SQL диалект 1, page size 2096.
Искам да попитам - нормално ли е 10 000 записа да ги инсъртва за минута и половина. И още - как може да се забърза.
Благодаря предварително.
Искам да попитам - нормално ли е 10 000 записа да ги инсъртва за минута и половина. И още - как може да се забърза.
Благодаря предварително.
Re: Бързодействие на БД
1. Зависи кви полета ти съставят един запис..
2. Вдигни размера на page size
с малко влакче композирам патките в реката
2. Вдигни размера на page size
с малко влакче композирам патките в реката
Re: Бързодействие на БД
бтв да си влизал навремето в IRC? #Amber? 
с малко влакче композирам патките в реката
с малко влакче композирам патките в реката
Re: Бързодействие на БД
Полетата не са много - 7-8.
Колко според теб трябва да е page size ?
чувал ли си за компонент FIB Plus ? Дали с него може да се подобри бързодействието ?
Да, и сега влиза. Рядко с ДАЛТ, по-често с C0derMan
Колко според теб трябва да е page size ?
чувал ли си за компонент FIB Plus ? Дали с него може да се подобри бързодействието ?
Да, и сега влиза. Рядко с ДАЛТ, по-често с C0derMan
Re: Бързодействие на БД
Мисля, че като промених page size стана доста по-добре.
Insert 10000 - 30 сек.
Update 10000 - 45 сек.
10x
Insert 10000 - 30 сек.
Update 10000 - 45 сек.
10x
Re: Бързодействие на БД
Ако имаш много индекси това може също да забавя малко, пробвай да ги изключиш преди инсертването на многото данни и после да си ги включиш наново
_ _ _
Time is like a drug. Too much of it kills you.
_ _ _
Time is like a drug. Too much of it kills you.
Re: Бързодействие на БД
Мда, Аналог Радио Мен :)))
добри времена бяха :)
с малко влакче композирам патките в реката
добри времена бяха :)
с малко влакче композирам патките в реката
Re: Бързодействие на БД
Освен page size, както много умно се сетиха някои колеги, можеш да увеличиш бързодействието и като изключиш Forced writes.
Така ще се ускори поне 5 пъти.
За сметка на това ако ти изгасне тока е по-вероятно базата данни да се счупи.
Така ще се ускори поне 5 пъти.
За сметка на това ако ти изгасне тока е по-вероятно базата данни да се счупи.
Re: Бързодействие на БД
Непрепоръчвам изключване на индексите.
Незнам дали във FireBird 1.5 са го подобрили, но в FireBird 1.0 може да имаш само 255 версии на мета данните т.е. на прост език можеш да включиш и да изключиш индексите 128 пъти. След това дава грешка. Оправя се като направиш backup и restore на базата данни. Така се изчистват версиите и се почва отначало.
(можеш да се сетиш как го открих
)
(и да не ти казвам колко време ги псувах за това
)
Незнам дали във FireBird 1.5 са го подобрили, но в FireBird 1.0 може да имаш само 255 версии на мета данните т.е. на прост език можеш да включиш и да изключиш индексите 128 пъти. След това дава грешка. Оправя се като направиш backup и restore на базата данни. Така се изчистват версиите и се почва отначало.
(можеш да се сетиш как го открих
(и да не ти казвам колко време ги псувах за това
Re: Бързодействие на БД
>можеш да включиш и да изключиш индексите 128 пъти
Очевидно под "включване"/"изключване" разбираш create/drop
Това е предназначено да се ползва при разработване на базата и затова посоченото ограничение за промяна на метаданните не е лимитиращо.
Няма никакъв проблем с ALTER INDEX name {ACTIVE | INACTIVE};
Освен другото, това позволява да си "включваш"/"изключваш" индексите "автоматично" при масов insert/update/delete независимо от "борбата" на админите с индексите за подобряване на select-ите

Очевидно под "включване"/"изключване" разбираш create/drop
Това е предназначено да се ползва при разработване на базата и затова посоченото ограничение за промяна на метаданните не е лимитиращо.
Няма никакъв проблем с ALTER INDEX name {ACTIVE | INACTIVE};
Освен другото, това позволява да си "включваш"/"изключваш" индексите "автоматично" при масов insert/update/delete независимо от "борбата" на админите с индексите за подобряване на select-ите
Re: Бързодействие на БД
>можеш да увеличиш бързодействието и като изключиш Forced writes
Много опасен съвет, особено при липса на UPS става смъртоносен
Още повече, че ефекта е незначителен ( в рамките до 10%)

Много опасен съвет, особено при липса на UPS става смъртоносен
Още повече, че ефекта е незначителен ( в рамките до 10%)
Re: Бързодействие на БД
Ейй
NDeu, това с ALTER наистина работи
. Явно проблема е бил само в InterBase 6.0, а във FireBird го няма ! Бог да те поживи, незнаеш каква голяма услуга ми направи 

