Update îòôèëüòðîâàííîãî ðåêîðäñåòà - îïòèìèçàöèÿ
|
|
Âòîðíèê, 17 Ìàÿ 2016 ã. 13:46
+ â öèòàòíèê
Èìååòñÿ òàáëè÷íàÿ ôîðìà ñ áîëüøèì ÷èñëîì çàïèñåé, ïîëüçîâàòåëü ïðîèçâîëüíî ôèëüòðóåò äàííûå, èñïîëüçóÿ áûñòðûå ôèëüòðû òàáëè÷íîé ôîðìû, çàòåì íóæíî äëÿ âñåõ îòîáðàííûõ çàïèñåé ïðîàïäåéòèòü îïðåäåëåííîå ïîëå ïî êíîïêå. Âîïðîñ: êàê ýòî ñäåëàòü, ÷òîáû ðàáîòàëî áûñòðî?
Òàê, äëÿ 130 000 îòîáðàííûõ çàïèñåé ïðîöåäóðà àïäåéòà îáû÷íûì öèêëîì ïî ðåêîðäñåòó ôîðìû (.Edit ... .Update) ðàáîòàåò ìèíóòó 40 ñåêóíä.
Åñëè âîñïîëüçîâàòüñÿ
âîò ýòèì ñïîñîáîì ñ ADO detached recordset ñ ïîñëåäóþùèì UpdateBatch äëÿ ñîõðàíåíèÿ ïåðâè÷íîãî êëþ÷à âî âðåìåííóþ òàáëèöó, à çàòåì âûïîëíèòü update â ñâÿçêå ñ ýòîé òàáëèöåé, òî ñîõðàíåíèå â öèêëå ðàáîòàåò 1:18 è ñîáñâåííî çàïðîñ 6 ñåêóíä, ò.å. áûñòðåå, íî íå íàìíîãî.
Ïî èäåå ìîæíî áûëî áû ñôîðìèðîâàòü update ñ where íà áàçå òåêñòà ôèëüòðà, íî êàê êîíôåðòèðîâàòü ôèëüòð, ñîäåðæàùèé ñïåöèàëüíûé ñèíòàêñèñ äëÿ ïîëåé ñ êîìáîáîêñàìè ÿ, ÷åñòíî ãîâîðÿ, íå ïðåäñòàâëÿþ.
Ìîæåò êòî ïîñîâåòîâàòü ñïîñîá óñêîðåíèÿ?
http://www.sql.ru/forum/1214300/update-otfiltrovannogo-rekordseta-optimizaciya
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-