Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
1 / 1 / 2
Регистрация: 09.12.2012
Сообщений: 58

SQL-запрос долго выполняется (INSERT)

31.05.2014, 19:53. Показов 5332. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ПРочитал много, так и не нашел вразумительного ответа... Может кто чем поможет. В общем, при добавлении в таблицу очень долго, порядка 3-х секунд выполняется запрос на добавление, вот собственно сам запрос:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
With DataM.qryAll do begin
tmpDate:=DateTimeWork.Date;
SQL.Clear;
SQL.Add('INSERT INTO tMadeWork (ID_Order, ID_Uslugi, DateWork, Zakl, Price, ID_Personal) ');
SQL.Add('VALUES (:pID_Order, :pID_Uslugi, :pDateWork, :pZakl, :pPrice, :pID_Personal)');
Parameters.ParamByName('pID_Order').Value:=StrToInt(IDOrderEdit.Text);
Parameters.ParamByName('pID_Uslugi').Value:=StrToInt(IDUslugiEdit.Text);
Parameters.ParamByName('pDateWork').Value:=tmpDate;
Parameters.ParamByName('pZakl').Value:=ZaklEdit.Text;
Parameters.ParamByName('pPrice').Value:=PriceEdit.Value;
Parameters.ParamByName('pID_Personal').Value:=StrToInt(PersonalEdit.Text);
ExecSQL;
DataM.qryMadeWork.Close;
DataM.qryMadeWork.Open;
DataM.qryMadeWork.Last;
ShowMessage('Данные о проведённой работе добавлены!');
MadeWorkAddChangeForm.Hide;
MainForm.Enabled:=True;
MainForm.Show;
end;
Не могу никак это вылечить( Что только не пробовал уже, ничего не помогает(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2014, 19:53
Ответы с готовыми решениями:

SQL-запрос на Insert
Доброго дня, форумчане. Подскажите, пожалуйста в чем причина разной работы этих двух запросов? q.SQL.Text:='insert into classut values...

Не выполняется SQL-запрос
Подскажите, не выполняется sql зарос по кнопке. procedure TMainForm.Button1Click(Sender: TObject); begin ADOQuery1.SQL.Clear;...

Не выполняется SQL-запрос в делфи
Доброе время суток! У меня возникла след ошибка:при нажатии на кнопку страница должен выполниться запрос и отобразиться список покупателей,...

5
Native x86
Эксперт Hardware
 Аватар для quwy
6781 / 3716 / 1019
Регистрация: 13.02.2013
Сообщений: 11,695
31.05.2014, 20:17
DupLike, Delphi тут не при чем. Скорее всего SQL-сервер долго выполняет запрос (например, там тяжелый триггер на INSERT установлен).

quwy

P.S. Хорошо, что вы используете параметры, но плохо, что вы не указываете тип данных, лучше так:
Delphi
1
2
3
4
5
6
Parameters.ParamByName('pID_Order').AsInteger:= StrToInt(IDOrderEdit.Text);
Parameters.ParamByName('pID_Uslugi').AsInteger:= StrToInt(IDUslugiEdit.Text);
Parameters.ParamByName('pDateWork').AsDateTime:= tmpDate;
Parameters.ParamByName('pZakl').AsString:= ZaklEdit.Text;
Parameters.ParamByName('pPrice').AsFloat:= PriceEdit.Value;
Parameters.ParamByName('pID_Personal').AsInteger:= StrToInt(PersonalEdit.Text);
1
23 / 23 / 5
Регистрация: 30.04.2012
Сообщений: 75
01.06.2014, 20:35
Попробуйте сделать хранимую процедуру, возможно будет работать быстрее:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
USE database_name;
 
DELIMITER $$
 
CREATE DEFINER = 'Username'@'%'
PROCEDURE procedure1 (IN pID_Order VARCHAR(255), IN pID_Uslugi INT, IN pDateWork INT, IN pZakl datetime, IN pPrice text, IN pID_Personal FLOAT)
BEGIN
  INSERT INTO tMadeWork (ID_Order, ID_Uslugi, DateWork, Zakl, Price, ID_Personal)
    VALUES (pID_Order, pID_Uslugi, pDateWork, pZakl, pPrice, pID_Personal);
END
$$
 
DELIMITER ;
Delphi
1
2
3
SQL.Clear;
SQL.Add('CALL procedure1(pID_Order, pID_Uslugi, pDateWork, pZakl, pPrice, pID_Personal) ');
ExecSQL;
Примерно так.
1
 Аватар для vaberg
52 / 52 / 30
Регистрация: 24.02.2014
Сообщений: 229
01.06.2014, 20:49
Если в таблице много индексов - будет тормозить.
Чем больше записей, тем сильнее
Какая у Вас база данных?
(Я не знаю, как Zil догадался что у Вас MySQL)
1
1 / 1 / 2
Регистрация: 09.12.2012
Сообщений: 58
01.06.2014, 21:05  [ТС]
База обоих типов имеется и на мускуле и на адо. Приоритет сделать на адо конечно. Добавление Типов данных, как подсказал quwy немного ускорил процесс, но не до желаемых результатов. Пересоздал всё компоненты, от Connection до DataSource, пока работат намного шустрее чем было. Всем спасибо за ответы.
0
23 / 23 / 5
Регистрация: 30.04.2012
Сообщений: 75
01.06.2014, 21:09
(Я не знаю, как Zil догадался что у Вас MySQL)
Читал темы в ветке MySql, и видимо не обратил внимание, что уже в другой. ))) Про индексы кстати хотел написать, но увлекся )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2014, 21:09
Помогаю со студенческими работами здесь

Не выполняется сложный SQL-запрос (возвращает пустую таблицу)
Всем доброго времени суток. Возникла проблема со сложным запросом (вложенный Select). Суть в том, что в Accesse он выполняется и...

MS SQL. Запрос долго выполняется
Доброго времени суток! Помогите разобраться почему запрос долго выполняется select max(Id) as id FROM gftec WHERE ID_TEC=6 GROUP BY...

Очень долго выполняется запрос SQL
Добрый день! Товарищи, помогите разобраться почему SQL запрос выполняется жутко долго (2,5 минуты) Как и где можно протестировать этот...

Sql compact долго выполняется запрос
Всем привет. База sql compact около 1.5 млн записей, все нужные индексы есть. Когда запрос выполняется в отдельном потоке очень...

Не выполняется SQL запрос INSERT из PHP
Добрый день. НЕ могу заставить выполниться запрос с добавлением новой строки в таблицу mysql $query ='INSERT INTO `sp_purchases`...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »