![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FireBird - тормоз.... [D7]
serko © (2007-01-02 13:39:00)Сетевая база! База установлена на серваке! На каждом компе сети из 10 компов стоит клиентская прога которая записывает данный в базу. Так вот процесс Открытия... Записи...Закрытия происходит очень долго....
Клентские компы - Pentium 233. Не ахти но все-таки. Сервак нормальный Athlon 2000!
Почему так далго?
Дмитрий Белькевич (2007-01-06 04:22:00) [1]А еще правильней - батон 'обновить' никто не отменял...
Carmen (2007-01-05 20:21:00) [2]правильно работать с транзакциями и изменения будут видеть все.
и правильней будет использовать компонент Query з командой SQL Insert а потом ExecQuery.
vitv (2007-01-04 09:30:00) [3]Почитай про транзакции.
> ь классная книжка "Мир InterBase".Там довольно понятно описаны
> основные приемы работы с сервером и методы построение клиентских
> приложений.
Книга Супер.
vlad-mal (2007-01-03 20:54:00) [4]Есть классная книжка "Мир InterBase".
Там довольно понятно описаны основные приемы работы с сервером и методы построение клиентских приложений.
Ученик чародея (2007-01-03 00:10:00) [5]
> serko © (02.01.07 22:54) [10]
>
>
> > 1. На кой хрен для каждой записи подключаться, а потом
> отключаться
> > от БД?
>
> Потому как без отключения от БД данные на других компах
> не отображаются!
Я ПлакалЪ! Только ЙАД!
serko (2007-01-02 22:54:00) [6]
> 1. На кой хрен для каждой записи подключаться, а потом отключаться
> от БД?
Потому как без отключения от БД данные на других компах не отображаются!
> 2. MainForms.IBDataSet1.Open; MainForms.IBDataSet1.InsertRecord
> - это еще больший ламеризм. Зачем открывать набор данных,
> если нужнотолько на сервер загнать запись в таблицу?
Хорошо что подметили! Сначала в голове было одно, потом другое вот и забыл убрать...
Desdechado (2007-01-02 19:20:00) [7]1. На кой хрен для каждой записи подключаться, а потом отключаться от БД? Это мазохизм какой-то...
2.MainForms.IBDataSet1.Open; MainForms.IBDataSet1.InsertRecord- это еще больший ламеризм. Зачем открывать набор данных, если нужнотолько на сервер загнать запись в таблицу?
atruhin (2007-01-02 17:50:00) [8]> Вопрос, ты что на каждую вставку, изменение заново подключаешься
> к базе?
Судя по коду да! И помимо глобальной глупости, тормоза как видимо,
возникают из-за кривой настройки DNS.
Ученик чародея (2007-01-02 17:31:00) [9]Я бы все таки через Insert и ExecSQL сделал.
FB какой версии?
Как открывается транзакция Read Commited или Snapshot?
IBExpress обновлены?(сам пользуюсь SQLDirect)
Вопрос, ты что на каждую вставку, изменение заново подключаешься к базе?
serko (2007-01-02 16:55:00) [10]Первичный ключ - это первое поле! оно у меня ID - которое генерируется автоматически +1....
Ученик чародея (2007-01-02 15:58:00) [11]
> serko © (02.01.07 15:49) [3]
Сразу бы посоветовал разработчику изучит 4 команды SQL - Select,Insert, Update,Delete и пользоватся ими.
Ученик чародея (2007-01-02 15:56:00) [12]
> serko © (02.01.07 15:49) [3]
А что из них первичный ключ, и есть ли он там?
serko (2007-01-02 15:49:00) [13]
MainForms.IBDatabase1.DatabaseName:='Server:c:\Base.fdb';
MainForms.IBDatabase1.Open;
Try
If not MainForms.IBDataSet1.Active then
MainForms.IBDataSet1.Open;
MainForms.IBDataSet1.InsertRecord([nil,
datetimeTostr(now),
Fam,
Inttostr(Gr),
Zur_ot,
Oc,
'',
Pc]);
MainForms.IBTransaction1.Commit;
Except
MainForms.IBTransaction1.Rollback;
Raise;
End;
MainForms.IBDataSet1.Close;
MainForms.IBDatabase1.Close;
Вот такой код на клиентской программе! На серваке висит только база! Вот когда начинает выполняться этот код программа подвисает, и через некоторое время все становится ОК! Данные записываются нормально... Но где то около 1 минуты
sniknik (2007-01-02 14:13:00) [14]> Почему так далго?
1% за то что глюк/недоработка в FireBird.
99% за кривые руки использующего(того кто делал эти "Открытия... Записи...Закрытия"...).
т.е. можеш смело предъявлять претензии разработчику "клиентской проги", хотя, желательно сменить формулировку с "очень долго" на чтонибудь поконкретнее типа "время сохранения одной записи, размера ..., в среднем равно ... что считаю неприемлимым для данной программы".
Sergey Masloff (2007-01-02 14:05:00) [15]Руки у разработчиков потому что...
С 10 пользователями P233 с 64 Мб оперативки сервером быть может и ничего тормозить не будет.