Мне было предложено внедрить технику для достижения лучшей производительности запросов, которая для меня очень много.Настройка производительности запросов
Техника:
SELECT tab1.col1
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2
AND tab2.col3 = 'X'
AND tab1.col4 = 'Y';
В приведенном выше запросе
- Мне нужно создать две таблицы в качестве ссылки таблицы для тех, которые использовались выше говорят tab3 для tab1 и tab4 для tab2.
- Вставьте значения PK для вкладок tab1 и tab2 соответственно в tab3 и tab4.
- Добавьте столбец как на tab3, так и на tab4, скажите 'condition1' и обновите его значениями PK записей, извлеченных из указанного выше запроса.
- Используйте tab3 и tab4 в запросах с проверкой на столбце «условие1» IS NOT NULL.
- Записать триггер, чтобы обновить этот столбец на любом DML в исходных таблицах.
Это может показаться простым на первый взгляд, но если одни и те же таблицы используются в N запросов с различными предикатами, мне нужно добавить N число столбцов в новых таблицах и соответствующих триггеров.
Я считаю, что это дублирование данных и огромная нагрузка на базу данных. И это не будет способствовать повышению производительности.
Будет здорово, если вы сможете помочь мне выйти из дилеммы реализации этого.
Спасибо заранее, САВИТА
Я думаю, что вы - ваши коллеги, являются настоящими новичками в области разработки баз данных и нуждаются в серьезной помощи для консультанта Oracle. Какова конечная цель этой базы данных и сколько строк в день вы добавите? Я не намерен быть злым, просто грубо честным. Иногда лучшая помощь, которую мы можем предоставить на SO, - это сказать вам, что вам нужна дополнительная помощь. –