Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Вниз

Delete + Update   Найти похожие ветки 

 
Nick87   (2008-09-25 12:22) [0]

Поделитесь советами. Имеется таблица содержащая порядка 10 000 записей. необходимо последовательно выполнить 2 запроса (Delete и Update). Таки образом под условия запросов подпадает порядка 8000 записей. Нормальным ли является общее время выполнения этих запросов около 2 минут.

Вот вообщемто сам код. (СУБД FIB)


Result := -1;
 if ConnectionStatus = csConnected then
   with cmp_Query_, cmp_DataBase do begin
     try
       StartTransaction;
       try
         SQL.Text := Format("DELETE FROM Types WHERE (%s = %s) AND (types_code = -1);UPDATE Types SET flags = 1 WHERE (%s = %s) AND (flags NOT IN (1, -1))", [FSelFieldName, Val, FselFieldName, Val];
         ExecSQL;
         Commit;
         Result := RowsAffected;
         except
           Rollback;
           raise;
         end;
     except
       on E: Exception do
         LogError(E.Message);
     end;
   end
 else
   LogError(const_msg_ErrorConnection);



 
Поросенок Винни-Пух ©   (2008-09-25 12:28) [1]

после массового делита полезно сделать уборку мусора (версий строк)


 
Правильный$Вася   (2008-09-25 12:41) [2]


> Поросенок Винни-Пух ©   (25.09.08 12:28) [1]

только в случае разовой операции удаления
в программе же не стоит этого делать

лучше обратить внимание на план выполнения каждого запроса и улучшить его, если есть возможность


 
Sergey13 ©   (2008-09-25 13:06) [3]

> [0] Nick87   (25.09.08 12:22)
> Нормальным ли является общее время выполнения этих запросов около 2 минут.

Многовато что-то, ИМХО. А какой из двух тормозит больше?


 
Nick87   (2008-09-25 13:12) [4]


> > [0] Nick87   (25.09.08 12:22)> Нормальным ли является
> общее время выполнения этих запросов около 2 минут.Многовато
> что-то, ИМХО. А какой из двух тормозит больше?

2 (Update)


 
Правильный$Вася   (2008-09-25 13:13) [5]


> СУБД FIB

что это?


 
Ega23 ©   (2008-09-25 13:17) [6]


>
> > СУБД FIB
>
> что это?


Фускин InterBase ?


 
Nick87   (2008-09-25 13:22) [7]

FireBird 2.0


 
Sergey13 ©   (2008-09-25 13:26) [8]

> [4] Nick87   (25.09.08 13:12)

Попробуй flags NOT IN (1, -1) заменить на flags<>1 and flags<>-1.


 
Sergey13 ©   (2008-09-25 13:27) [9]

> [4] Nick87   (25.09.08 13:12)

А вообще недурно бы структуру таблицы с индексами опубликовать. И план посмотреть.


 
Правильный$Вася   (2008-09-25 13:27) [10]


> под условия запросов подпадает порядка 8000 записей

так под удаление или под изменение?
или в сумме? - тогда каждый вотдельности охарактеризуй
и план смотри, может, где-то индексировать надо


 
Правильный$Вася   (2008-09-25 13:28) [11]


> Попробуй flags NOT IN (1, -1) заменить на flags<>1 and flags<>-1.

FB умеет скобки раскрывать
а про план я давно сказал


 
ЮЮ ©   (2008-09-26 02:55) [12]

А как быстро рвботвют ъти же запросы, если поставить SELECT вместо DELETE и UPDATE.

DELETE тормозит, нсли на эту таблицу есть CONSTRAINT FOREIGN KEY из другой таблицы, а индекса по тому полю нет. Тогда FULL SCAN второй таблицы перед удалением каждой записи обеспечен.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
3-1208544699
Alexey
2008-04-18 22:51
2008.11.02
Таблицы в InterBase


11-1195021960
Sour Smile
2007-11-14 09:32
2008.11.02
Компиляция в Collapse


15-1220884420
axis_of_evil
2008-09-08 18:33
2008.11.02
IE тормозит систему


15-1218713094
@!!ex
2008-08-14 15:24
2008.11.02
Хочу купить монитор


2-1222185058
@!!ex
2008-09-23 19:50
2008.11.02
помогите составить алгоритм сравнения элементов бинарного дерева





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский