Horsun Vlad ïèøåò: > http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/dbugen9/00000404.htm >> Öèòàòà: >> >> Optimization proper commences just before execution. If you are using >> cursors in your application, optimization commences when the cursor is >> opened. Unlike many other commercial database systems, Adaptive Server >> Anywhere *optimizes each statement just before executing it*. > > Íó, ýòî æå ÿâíûé ìàðàçì.
Ïðî ìàðàçì - ýòî ñãîðÿ÷à. IMHO ìàðàçì - ýòî èñïîëüçîâàíèå åäèíîãî ïëàíà äëÿ âñåõ âîçìîæíûõ çíà÷åíèé ïàðàìåòðîâ. È ïîíÿòèå "ïëîõîé èíäåêñ" ìíå òîæå êàæåòñÿ äîñòàòî÷íî ìàðàçìàòè÷íûì. Óïðîùåííûé, íî æèçíåííûé ïðèìåð - îòáîð äîêóìåíòîâ, ñêàæåì ïî ïåðèîäó, ñêëàäó è ñòàòóñó. Åñòü èíäåêñ ïî äàòå, FK ïî ñêëàäó, èíäåêñ ïî ñòàòóñó. Äàòà áîëåå-ìåíåå ðàâíîìåðíà, ñêëàäû çàìåòíî îòëè÷àþòñÿ îáúåìîì ïîòîêà äîêóìåíòîâ, à ðàñïðåäåëåíèå ïî ñòàòóñó âîîáùå ñóïåð ïåðåêîøåííîå - 99% çàêðûòû è î÷åíü íåáîëüøîå êîë-âî "â îáðàáîòêå". Êàêîé èíäåêñ îïòèìàëüíåå áóäåò? > Áåð¸ì ïðîöåäóðó òèïà ... > òû õî÷åøü ñêàçàòü, ÷òî êàæäîå âûïîëíåíèå âíóòðåííåãî select'à > áóäåò îïòèìèçòðîâàòüñÿ çàíîâî ? Äëÿ ïðîöåäóð, ôóíêöèé è òðèããåðîâ ñäåëàíî "èíòåëëåêòóàëüíîå" êýøèðîâàíèå ïëàíîâ: http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/dbugen9/00000403.htm Âêðàöå ñìûñë: ïîñëå íåñêîëüêèõ âûïîëíåíèé îïåðàòîðà ñòðîèòñÿ reusable ïëàí. Îí íå çàâèñèò îò çíà÷åíèé ïåðåìåííûõ. Åñëè ñòîèìîñòü òàêîãî ïëàíà áëèçêà ê ëó÷øåé çàôèêñèðîâàííîé ñòîèìîñòè çàïðîñà, òî ïëàí äîáàâëÿåòñÿ â êýø è èñïîëüçóåòñÿ â äàëüíåéøåì.  ïðîòèâíîì ñëó÷àå çàòðàòû íà îïòèìèçàöèþ íà êàæäîì èñïîëíåíèè ïåðåâåøèâàþòñÿ âûãîäàìè îò îïòèìèçàöèè è ïðèíèìàåòñÿ ðåøåíèå íå êýøèðîâàòü, à îïòèìèçèðîâàòü êàæäûé ðàç. Çàïðîñû ñ ñîõðàíåííûìè â êýøå ïëàíàìè ïåðèîäè÷åñêè ïåðåîïòèìèçèðóþòñÿ äëÿ ïðîâåðêè îòíîñèòåëüíîé ýôôåêòèâíîñòè ñîõðàíåííîãî ïëàíà. > Íàôèã-íàôèã òàêîé 'îïòèìèçàòîð' Íèêòî æ íå çàñòàâëÿåò :) Ïðîñòî óïîìÿíóë ê ñâåäåíèþ. P.S. Ãèñòîãðàììû â FB ïëàíèðóþòñÿ?  roadmap óïîìèíàåòñÿ ñî ñðåäíèì ïðèîðèòåòîì Optimizer improvements ... more data statistics --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

