-
Znaczenie pojęcia:
optymalizacja zapytań
Pozostałe definicje na literę O.
ang. query optimization
Dziedzina badawcza i praktyczna zajmująca się metodami, technikami i teoriami służącymi do radykalnego skrócenia czasu wykonywania zapytań. Optymalizator zapytań (query optimizer) jest fragmentem oprogramowania systemu zarządzania bazą danych zajmującym się skróceniem czasu wykonania zapytań. Terminy "optymalizacja" i "optymalizator" są tutaj używane niewłaściwie, ponieważ nie jest rozważane optimum z punktu widzenia jakiegokolwiek formalnego kryterium, a raczej chodzi o osiągnięcie takiego czasu przetwarzania zapytania, który jest akceptowalny z punktu widzenia użytkownika. Metody optymalizacji zapytań można podzielić na następujące grupy:Poziom fizyczny organizacji danych - można tu wyróżnić indeksy (najczęściej organizowane jako B-drzewa), kodowanie mieszające (hash coding) i powiązania wskaźnikowe (pointer links);Przekształcenie zapytania na taką semantycznie równoważną postać, która rokuje lepszy czas przetwarzania. Zazwyczaj takie przekształcenie odbywa się na tekście zapytania lub na jego drzewie syntaktycznym; metody te określa się jako przepisywanie (rewriting). Dla języków implementowanych w relacyjnych bazach danych (SQL) istotne efekty daje przesunięcie wykonania operatorów selekcji i projekcji przed operator złączenia;Wysoko wyspecjalizowane algorytmy dla niektórych operatorów, np. realizacja operatora złączenia przez posortowanie argumentów i "scalenie" (merging), lub poprzez kodowanie mieszające;Ustalenie optymalnego planu obliczania wyników pośrednich (query execution plan).Optymalizacja zapytań wymaga precyzyjnego modelu semantyki, skąd wynika nacisk na matematyczną formalizację języków zapytań. W szczególności, niektóre metody są oparte o równoważne przekształcenia wyrażeń algebry relacji, którą uważa się za dobry model formalny dla opisu semantyki relacyjnych języków zapytań, m.in. SQL. Model ten jest jednak bardzo ograniczony i nie zawsze adekwatny, stąd większość metod optymalizacji zapytań jest wynikiem obserwacji i spekulacji praktycznych, eksperymentów i heurystyki. Wiedza dotycząca optymalizacji zapytań jest bardzo mało stabilna, gdyż nowe języki (np. obiektowe) często implikują nowe problemy i metody
zapytań optymalizacja,
optimization query
