Sergio
User
 Fresh Boarder
| Posts: 1 |   | Karma: 0 |
|
замедляется работа (mysql)
|
|
Posted: 2008/08/04 04:08 |
|
|
|
|
ADQuery_1.Close; ADQuery_1.SQL.Clear; ADQuery_1.params.Clear; ADQuery_1l.Params.Add; ADQuery_1.Params[0].Name:='P0'; ADQuery_1.Params.Add; ADQuery_1.Params[1].Name:='P1'; ADQuery_1.Params.Add; ADQuery_1.Params[2].Name:='P2'; ADQuery_1.SQL.text:='select nomer from `'+ComboBox1.Text+'`.`'+table_name_to_insert+'` where opisanie=: P0 and rayon=: P1 and `data`=: P2 limit 1';
ADQuery_2.close; ADQuery_2.sql.Clear; ADQuery_2.Params.Clear; ADQuery_2.Params.Add; ADQuery_2.Params[0].Name:='P0'; ADQuery_2.Params.Add; ADQuery_2.Params[1].Name:='P1'; ADQuery_2.SQL.Text:='select kommentariy from `'+ComboBox1.Text+'`.`'+table_name_to_insert+'` where opisanie=: P0 and rayon=: P1 and not (kommentariy = " ") limit 1';
ADQuery_Exec.SQL.Clear; ADQuery_Exec.Params.Clear; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[0].Name:='Opisan'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[1].Name:='Rayo'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[2].Name:='Dat'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[3].Name:='Lin'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[4].Name:='Number'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[5].Name:='PageN'; ADQuery_Exec.Params.Add; ADQuery_Exec.Params[6].Name:='Komment';
ADQuery_Exec.SQL.text:= 'insert into `'+ComboBox1.Text+'`.`'+table_name_to_insert+'` (opisanie,rayon,`Data`,Link,Number,Page,kommentariy) values (: Opisan,:Rayo,: Dat,:Lin,:Number,: PageN,:Komment)';
цикл ADQuery_1.Close; ADQuery_2.Close;
ADQuery_1.Params[0].AsString:=readystr; ADQuery_1.Params[1].AsString:=Edit5.Text; ADQuery_1.Params[2].AsDateTime:=currdate;
ADQuery_2.Params[0].AsString:=readystr; ADQuery_2.Params[1].AsString:=edit5.text;
ADQuery_1.open; ADQuery_1.First;
if ADQuery_1.RecordCount = 0 then begin ADQuery_2.open; ADQuery_2.First; if ADQuery_2.RecordCount > 0 then begin ADQuery_Exec.Params[6].AsString:=ADQuery_2.FieldByName('kommentariy').AsString; end else begin ADQuery_Exec.Params[6].AsString:=' '; end; ADQuery_Exec.Params[0].AsString:=readystr; ADQuery_Exec.Params[1].AsString:=edit5.text; ADQuery_Exec.Params[2].AsString:=DateTimeToStr(currdate,f); ADQuery_Exec.Params[3].AsString:=pageavisourl; ADQuery_Exec.Params[4].AsString:=Edit4.text; ADQuery_Exec.Params[5].AsWord:=curr_page; ADQuery_Exec.ExecSQL; end;
цикл енд
нужно проверить и добавить тысяч 5000+ записей
к концу процедуры скорость падает раз в 5-10, но если сделать переподключение, то скорость возвращается на начальный уровень..
что может быть не так? куда рыть?
Спасибо.
|
|