Настройка производительности запроса - PullRequest
0 голосов
/ 03 января 2011

Меня попросили внедрить метод для достижения лучшей производительности запросов, что очень ново для меня.

Метод:

SELECT tab1.col1
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2
AND tab2.col3 = 'X'
AND tab1.col4 = 'Y';

В приведенном выше запросе

  1. Мне нужно создать две таблицы в качестве справочных таблиц для таблиц, использованных выше, скажем, tab3 для tab1 и tab4 для tab2.
  2. Вставить значения PK tab1 и tab2 соответственно в tab3 и tab4.
  3. Добавьте столбцы в tab3 и tab4, скажем 'condition1', и обновите их, указав значения PK для записей, извлеченных по вышеуказанному запросу.
  4. Используйте tab3 и tab4 в запросах спроверка для столбца 'condition1' НЕТ НЕДЕЙСТВИТЕЛЬНО.
  5. Триггер записи для обновления этого столбца на любом DML в исходных таблицах.

Это может показаться простым на первый взгляд, но еслите же таблицы используются в N запросах с разными предикатами, мне нужно добавить N количество столбцов в новых таблицах и соответствующие триггеры.

Я полагаю, этодублирование данныхи огромная нагрузка на базу данных.И это не будет способствовать повышению производительности.

Было бы здорово, если бы вы могли помочь мне выйти из дилеммы реализации этого.

Заранее спасибо, Savitha

Ответы [ 2 ]

2 голосов
/ 03 января 2011

Вы убедились, что используете индексы правильно?

1 голос
/ 03 января 2011

Этот вид настройки производительности выглядит как плохая идея. Это похоже на глупый способ воссоздать систему индексов. Я бы посоветовал против этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...