#sql #query-optimization
#sql #оптимизация запросов
Вопрос:
Я студент и выполняю задание для базы данных. Я хочу использовать индексацию и оптимизацию запросов для моей стратегии оптимизации базы данных. Проблема в том, как я могу доказать, что моя стратегия улучшена? в моей лекции говорилось об оптимизации запросов, которую я могу доказать вычислением, у кого-нибудь есть еще идеи? что вычислять? что касается индексации, мне нужны доказательства, чтобы доказать это. как??
Комментарии:
1. определите оптимизацию для вашего случая. что вы хотите оптимизировать? скорость? размер? расположение данных? и если это скорость, то какого рода? например, вы бы предпочли иметь быстрые вставки или быстрый выбор? можете ли вы предоставить свою текущую структуру данных и несколько примеров запросов или вариантов использования?
Ответ №1:
С точки зрения доказательств оптимизации, у вас должен быть инструментальный код для ваших тестовых случаев (например, вы можете точно определять время) и повторно запускаемые тестовые случаи. Идеальная ситуация для повторно запускаемого набора тестовых примеров — это также возможность сброса к базовой базе данных, чтобы вы могли гарантировать, что начальные условия данных одинаковы для каждого тестового запуска.
Вам также необходимо понимать для каждого тестового примера другие, более тонкие факторы:
- Вы работаете с кэшем холодной процедуры / с кэшем теплой процедуры.
- Вы работаете с холодным кэшем данных / с теплым кэшем данных.
- Используете ли вы точно такую же таблицу для больших наборов данных, например, с тех пор не произошло разделения страниц.
Ответ №2:
Я бы подумал, что план объяснения до и после будет иметь большое значение для доказательства улучшения.
Смотрите Производительность SQL Server ЗДЕСЬ.
Ответ №3:
Какую СУБД вы используете?
Я предлагаю вам взглянуть на то, какие параметры трассировки предоставляет ваш продукт СУБД. Например, в Oracle вы можете использовать SQL Trace и проанализировать выходные данные с помощью tkprof, чтобы предоставить вам цифры, которые вам понадобятся, чтобы доказать, что ваша стратегия оптимизации базы данных показывает улучшение.