Query cost estimation and development of an application for processing resource-intensive queries
Authors: Нурматова Е.В. 
Published: July 2024

Быстрый рост объема хранимых данных обусловливает необходимость интеграции инструментов мониторинга, анализа и оптимизации запросов к базам данных для своевременного и корректного установления наиболее ресурсоемких из них. Эти обстоятельства определяют актуальность разработки программных инструментов для оценки причин медленных запросов с формированием различных вариантов оптимизации. В данной работе исследованы причины, влияющие на ресурсоемкость запросов выборки данных. Показаны основания для медленных запросов, такие как качество собранной статистики, использования индексов, указаний плану запроса, структуры запроса, корректность настройки параметров инициализации базы данных, а также возможные варианты решения выявленных причин. Исследование представляет интерес с точки зрения объяснения основ физических операций, обеспечиваемых подсистемой выполнения запросов, которая интерпретирует процедурный план исполнения запроса, оптимизируя стоимость. Для решения задачи ускорения медленных запросов на основе корректного процедурного плана предлагается разработка приложения, учитывающего состав анализируемых стоимостных, объемных и временных характеристик запросов для их оптимизации. Описаны результаты тестирования разработанной системы, позволяющей повысить производительность запросов. Оценивалась скорость выполнения запроса по следующим метрикам: операция доступа к данным, стоимость выражения, стоимость операции ввода/вывода, время процессора, затраченное время на обработку всей выборки. Выполнение экспериментов по оценке корректности выявления медленных запросов подтверждает целесообразность применения на практике результатов проведенных исследований и разработанного приложения.

Rapid growth of stored data volume necessitates integration of tools for monitoring, analysis and optimization of database queries for timely and correct identification of the most resource-intensive queries. These circumstances determine the relevance of developing software tools for assessing the causes of slow queries with the formation of various optimization options. This paper examines the reasons influencing the resource-intensive queries of data sampling. The reasons for slow queries are shown, such as the quality of collected statistics, use of indexes, hints, query structure, correctness of database initialization parameter settings, as well as possible solutions to the identified causes. The study is interesting from the point of view of explaining the basics of the physical operations provided by the query execution subsystem, which interprets the procedural plan of query execution to optimize the cost. To solve the problem of speeding up slow queries based on a correct procedural plan, we propose the development of an application that takes into account the composition of the analyzed cost, volume and time characteristics of queries to optimize them. The results of testing the developed system, which helps to improve the performance of queries, are described. The speed of query execution was evaluated by the following metrics: data access operation, expression cost, I/O operation cost, CPU time, time spent on processing the whole sample. Performing experiments to evaluate the correctness of identifying slow queries confirms the feasibility of applying in practice the results of the conducted research and the developed application.