![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Много инсертов подряд. [D7, MySQL]
ryabis © (2010-02-11 09:56:00)Delphi 2007 + dbExpress + MySQL 5.0.45
По таймеру с периодичностью в 1-5 сек. добавляется запись в таблицу:
qry.Sql.Clear;
qry.SQL.Add('Insert into MOTION (P_COORD_X, P_COORD_Y) VALUES ( '+floattostr(XTemp1)+', '+floattostr(YTemp1)+');');
qry.ExecSQL;
qry.Close;
Возникла проблема с тем, что когда кол-во добавленных подряд записей достигает определенного значения выскакивает ошибка
can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
Понятно, что переполняется буфер в MySQL. Пытался увеличить его размер, но это не помогло.
Как сделать так, чтобы буфер автоматом освобождался и записи могли непрерывно добавляться?
KilkennyCat (2010-02-13 13:22:00) [1]А если не коммить, то смысл выполнять запрос? Не логичнее ли его аккумулировать?
Плохиш (2010-02-13 13:15:00) [2]
> qry.Sql.Clear;
> qry.SQL.Add
qry.SQL.Text :=
12 (2010-02-11 12:52:00) [3]если 1-2 секунды, думаю, можно и после каждой коммитить
sniknik (2010-02-11 10:34:00) [4]> Данные же все равно "сыпятся" в базу одинаково?
кто вам сказал такую глупость?
> 2. Когда делаю коммит, начинает ругаться.
делай в процессе периодически, а не один раз в конце работы.
> qry.Close;
лишнее
ryabis (2010-02-11 10:28:00) [5]1. Какая разница как отправлять запрос? Данные же все равно "сыпятся" в базу одинаково?
2. Когда делаю коммит, начинает ругаться.
Sergey13 (2010-02-11 10:08:00) [6]1. Что мешает использовать параметрический запрос?
2. Коммит делаешь когда нибудь?