Powszechnie stosowane komercyjne narzędzia doboru indeksów działają na podstawie metod umożliwiających indeksowanie tabel będących częścią niezależnych zapytań SQL. W artykule przedstawiono ideę indeksowania tabel uwzględniającą gęstość grupy zapytań. Przedstawiono wyniki uzyskane autorską Metodą Doboru Indeksów (MDI), opierającą się na algorytmie genetycznym. Przeprowadzone badania pokazują, że dla różnych gęstości zastosowanie indeksu grupowego pozwala skrócić czas wykonania zapytań (o 15%), a także zmniejszyć rozmiar indeksów (o 68-90%).
EN
Commonly used commercial tools are based on a methodology that enables tables indexing for individual SQL queries. The article presents an original method, based on a genetic algorithm, for indexing tables for groups of queries in a relational database. Conducted experiments have shown that the use of indices for a group of queries can reduce the group execution time by 15% as well as can reduce the memory needs by 68-90%.
Indeksowanie jest kluczowym elementem optymalizacyjnym systemów relacyjnych baz danych. Komercyjne narzędzia doboru indeksów (np. Toad, SQL Server Database Tuning Advisor) działają na podstawie metod przeznaczonych dla pojedynczych zapytań. W artykule przedstawiono podejście indeksowania tabel w ramach grupowych zapytań SQL uwzględniające kryterium rozmiaru indeksów. Przedstawione przykłady ilustrują, że zastosowanie podejścia grupowego pozwala zmniejszyć czas wykonania zapytań nawet o 30% w stosunku do rozwiązań uzyskanych klasycznymi metodami.
EN
This paper discusses the problem of minimizing the response time for a given database workload by a proper choice of indexes. The main objective of our contribution is to illustrate the database queries as a group and search for good indexes for the group instead of an individual query, including the size criterion. Examples illustrate that the use of a group approach can reduce queries block execution time of 30% compared to classical methods.
Autorzy podejmują się problemu automatycznej minimalizacji czasu odpowiedzi bazy danych na zadaną grupę zapytań SQL poprzez poprawny dobór indeksów dla systemów produkcyjnych. Głównym naszym celem jest traktowanie zapytań jako grupy i szukanie odpowiednich indeksów dla całej grupy a nie dla pojedynczego zapytania. Przedstawiamy warunki które musi spełniać grupa zapytań. Proponujemy użycie algorytmu genetycznego do poszukiwania indeksów w testach doświadczalnych. Prezentujemy wyniki testów eksperymentalnych jako uzasadnienie użycia proponowanego podejścia.
EN
This paper discusses the problem of automatic minimization of a response time for a database workload by a proper choice of indexes on production systems. The main objective of our contribution is to illustrate the database queries as a group and search for good indexes for the group instead of an individual query. We present queries block relation conditions for applying the concept of grouped queries index selection. We also introduce genetic algorithm that we use in experimental test. Numerical results are presented to show quality of the recommended approach.
Artykuł przedstawia metodę automatycznego doboru i optymalizacji indeksów utworzonych na tabelach relacyjnej bazy danych dla dowolnego wycinka czasowego w cyklu przetwarzania powtarzalnego lub zmiennego kodu SQL. Powszechny sposób selekcji indeksów polega na wybraniu najczęściej odpytywanych kolumn dla pojedynczego zapytania z pominięciem innych zapytań SQL w wybranym bloku przetwarzania zapytań. W całościowym cyklu przetwarzania powszechnie stosowana metoda optymalizacji tylko jednego zapytania SQL może okazać się mało wydajna.
EN
Article presents new approach to automatic indexes selection problem (ISP) and indexes optimization for any timeframe in process of constant or variable SQL queries block processing for relational database systems. Common index selection methods usually focus on choosing most frequently selected columns for standalone SQL query, omitting other queries present in the same processing block. For a long database processing, containing more than one SQL query, commonly used optimization methods may prove to be inefficient.
This paper discusses the problem of minimizing the response time for a given database workload by a proper choice of indexes. The main objective of our contribution is to illustrate the database queries as a group and search for good indexes for the group instead of an individual query. We present queries block relation conditions for applying the concept of grouped queries index selection. In three experimental tests we provide measurements on the quality of the recommended approach.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.