Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:15 29.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема ApplyUpdates на IBDatabase  
Авторнrocт (Нерегистриран)
Публикувано27.09.06 16:42



Значи, имам база данни, която е на Interbase 6.1
Пиша в 2-3 таблици на базата, и после пускам IBDatabase.ApplyUpdates([Table1, Table2, Table3]). Първоначално всичко работи перфектно, но като се натрупат няколко десетки хиляди реда във въпросните таблици прогресивно расте времето за ApplyUpdates. При празна база минава мигновено. При таблица с 50 хиляди реда това IBDatabase.ApplyUpdates([IBTable]) oтнема време от порядъка на 20-тина секунди , което ми се вижда ненормална история. Някакъв по-правилен начин да си записвам ъпдейтите в базата, дето да не се бави толкова много ?



Тема Re: ApplyUpdates на IBDatabaseнови [re: нrocт]  
Автор andrew_nikoloff (bugbuster)
Публикувано27.09.06 17:27



Като заначало използвай IBDataSet вместо IBTable. IBTable е само за обратна съвместимост. Дизайнът му не е подходящ за Client/Server програмиране. Предполагам, че това ще ти ускори значително нещата.



Тема ApplyUpdates на IBDatabaseнови [re: нrocт]  
Авторrocт (Нерегистриран)
Публикувано28.09.06 11:02



Разкарах таблиците, правя си Insert-ите с един IBSQL и после само commit-вам транзакцията. Няма буфериране, няма бавене. Dataset-ите , които гледат данните са с отделна транзакция... това май ми реши проблема.



Тема Re: Insert-итенови [re: rocт]  
АвторЙopдaн (Нерегистриран)
Публикувано03.10.06 15:33



Това е (почти) най-доброто.

Аз ползвам MySql и ето какво направиха в mysqldump, за да го форсират още НЕмалко (не знам първото дали го има; после колкото може повече редове в 1 INSERT, зависи сървъра колко позволява да е голяма 1 команда):

ALTER TABLE x DISABLE KEYS;

INSERT INTO x (a, b,c) VALUES
(1,2,3),
...
(7,8,9);

ALTER TABLE x ENABLE KEYS;




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.