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




--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить