Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Оптимизация базы данных (http://forum.oszone.net/showthread.php?t=270610)

veter48 24-10-2013 17:37 2240393

Оптимизация базы данных
 
Здравствуйте.

Скажите, пожалуйста, с чего начать оптимизацию базы данных/SQL запросов Oracle?
В общем, есть большая БД, из которой делаются отчёты. Так вот если делать отчёты за последние месяцы, то всё +/- в порядки, а вот если за последние годы, то очень долго всё генерируется. Как это всё проанализировать, может, есть какие-то инструменты? Может нужно пересмотреть индексы?

Буду благодарен вам за советы.

Delirium 26-10-2013 07:59 2241281

Способов оптимизации очень много. Это и партиционирование таблиц, и перестройка индексов, и оптимизация самих запросов и так далее. Вы описываете слишком общую картину, чтобы дать конкретный ответ.
Для ясности:
размер базы? количество индексов, участвующих в запросах? Количество строк в таблицах? Пример SQL запроса?

У меня есть таблица, в которой порядка миллиарда записей, так в ней простой ORDER BY делается довольно долго.

veter48 28-10-2013 18:05 2242683

Вот план выполнения одного запроса:



Запрос возвращает 115559 записей за 102 секунды. Это эксперимент над тестовой БД, в настоящей записей гораздо больше и время тоже катастрофически большое.

veter48 03-11-2013 23:18 2246858

Скажите, можете подсказать. Почему допустим, я выбираю данные за позапрошлую неделю то результат получаю в 10х быстрее, чем допустим за какую-то неделю в апреле?
Спасибо.


Время: 16:11.

Время: 16:11.
© OSzone.net 2001-2025