|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Добрый день! Возник странный вопрос, хочется посоветоваться с сообществом. Опишу ситуацию - есть небольшая база на Oracle 11.2, в базе 100-150 таблиц, десятки тысяч строк в основных 15-20 таблицах, остальное справочники. Суммарный размер дампа базы около 100 гигабайт, но в основном он набрал блобами Word-документов. Есть запрос (вьюшка), которые собирает данные из 20-30 таблиц. Скорость работы запроса недавно внезапно упала в несколько раз - было 5-7 секунд, стало около 25 секунд. В ходе выяснения причины оказалось, что на тестовой копии базы запрос выполняется за 2-3 секунды, то есть даже быстрее чем раньше было в рабочей базе, хотя тестовый сервер сильно слабее. Начали искать отличия - и оказалось, что в тест не перенесены данные самой большой таблицы - бинарные данные (блобы) хранимых в системе документов, которые составляют более 98% размера дампа базы. В результате выяснили, что если перенести в тест все таблицы с данными, кроме одной, которая содержит 300 тысяч блобов, то всё летает. А потом добавляем в базу данные блобов (100 гигабайт) и запрос начинает тормозить, хотя в нём нет обращения к этим блобам. После удаления из базы таблицы с блобами запрос опять начинает работать быстро. Собственно вопрос - чтоб это было? может ли физический размер табличных пространств/дата-файлов влиять на скорость выполнения запросов? почему таблица с блобами влияет на запрос, в котором никак не участвует? с уважением, Дмитрий Жучков ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 13:27 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas, select * ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 13:41 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
oragraf, все поля явно указаны и проименованы, вьюшка же ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 13:49 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas, а как блобы определены? и какова вообще длина записи (в байтах) в этой таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 14:23 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Надфиль, структура таблицы с блобами грубо говоря такая: Код: plsql 1. 2. 3. 4. 5. 6.
никаких особенностей хранения таблица не имеет, всё параметры по умолчанию, длина записи в самой таблице или средняя длина блоба? в самой таблице - байт 400 от силы, блобы в среднем по 30килобайт - вордовские документы на 5-10 страниц. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 14:30 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas блобы в среднем по 30килобайт - вордовские документы на 5-10 страниц. я имел ввиду нет ли интересных опций хранения блобов ENABLE STORAGE IN ROW basefile или secure? хотя тут вроде с такими объемами и тормозить нечему. если, конечно, пару декартовых произведений не вкорячить куда нибудь) ЗЫ: Проверить индексы, собрать статистику, включить трассировку и конкретно посмотреть что делает запрос? это вес пройденные этапы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 14:42 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Надфиль, да, все перечисленные этапы пройдены - проблема в том, что эта таблица с блобами никаким образом не связана с запросом, который начал тормозить. ее можно переименовать, можно удалить - запрос работает, только время отклика меняется ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 14:46 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
грубо говоря картина такая - есть база на 100 таблиц, в ней есть достаточно сложный запрос, который выполняется за 2-3 секунды и все этим временем довольны, в базу добавляется 101-я таблица, которая раздувает размер базы на диске в 100 раз, это практически реальные цифры - наша база без блобов 1.3 гига, с блобами 124 гига. новая таблица никак не участвует в запросе, он работал еще когда ее не было в базе, и продолжает работать, но после добавления новой таблицы запрос тормозится в несколько раз ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 14:51 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas в базу добавляется 101-я таблица, которая раздувает размер базы на диске в 100 раз, это практически реальные цифры - наша база без блобов 1.3 гига, с блобами 124 гига. новая таблица никак не участвует в запросе, он работал еще когда ее не было в базе, и продолжает работать, но после добавления новой таблицы запрос тормозится в несколько раз ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:06 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
планы сравнивали? одинаковые? если да - на что конкретно тратится время "медленного" запроса? каких событий ждёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:08 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas новая таблица никак не участвует в запросе, он работал еще когда ее не было в базе, и продолжает работать, но после добавления новой таблицы запрос тормозится в несколько раз сказки какие то) ну или баги. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:22 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
А с таблицей в эти моменты другие сессии не работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:26 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
landy А с таблицей в эти моменты другие сессии не работают? ну это если только совсем слабый сервер. я лично добавлял/перемещал/импортировал и удалял по полтеррабайта за день, и никакого влияния не было на основной функционал. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:37 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
«Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит» ( С ) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:53 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Надфиль ну это если только совсем слабый сервер. Что значит слабый? Если у ТС, извините за выражение, говенная подсистема ввода/вывода - хоть забей сотней процессоров ее - все равно будет тормозить. Без понимания на чем у ТС все крутится - сейчас гадание на кофейной гуще. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 16:14 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
landy Что значит слабый? да вот примерно это) landy говенная подсистема ввода/вывода ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 17:16 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Blob в том же tablespace? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:20 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
S_e_r_j сферическая какая то фиговина в вакуме описывается, может как-то уже пример запроса с планом привести? полный запрос это многие сотни строк, таблица с блобами в нём не участвует ни разу и никак вообще Надфиль, тестовый сервер не просто слабый, а очень слабый - фактически это обычная персоналка, чуть мощнее среднего, система небольшая, умещается... рабочий сервер больше конечно, но речь про тестовый landy А с таблицей в эти моменты другие сессии не работают? других сессий нет - тестовая система однопользовательская Synoptic Blob в том же tablespace? да, одно табличное пространство, одна схема, один диск, один процессор на сервер, только дата-файлов 6 штук и ядер у процессора 4 кит северных морей планы сравнивали? одинаковые? если да - на что конкретно тратится время "медленного" запроса? каких событий ждёт? планы одинаковые, трассировку на тестовом и именно во время этого эффекта не делали и сегодня уже не сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:46 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
пожалуй, не буду больше занимать ваше время, спасибо за озвученные идеи я так понял, что явление массовым и общеизвестным не является и причины эффекта скорее всего находятся за пределами Oracle самоизоляция, сотни пользователей на удалёнке (включая всех участников тестов), нагрузка на сервера и сети... где-то там будем искать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:51 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas я так понял, что явление массовым и общеизвестным не является Вы соединяете 30 таблиц. К каждой из которых потенциально может быть с десяток методов доступа. И по три разных способа присоединения каждой из. Посчитайте количество перестановок таблиц, помножите количество возможных соединений и путей доступа и примерно оцените количество вариаций, которые должен рассмотреть оптимизатор в процессе поиска решения Вашей задачи. Ну и как думаете, предложенный к обсуждению сферический конь в вакууме действительно должен вызвать ажиотаж в теме? Обсуждать имеет смысл конкретику. Конкретный план исполнения конкретного запроса в конкретной схеме с конкретной статистикой таблиц/индексов, с конкретной статистикой исполнения... Или сравнительный анализ планов/статистик с двух систем (хорошо vs плохо). Запрос у Вас сложный, задача оптимизации/траблшутинга не тривиальная. Если вменяемый тесткейс сделать не получается и собственной квалификации для решения недостаточно - имеет смысл рассмотреть вопрос найма специалиста, способного разобрать Ваш случай в деталях, выявить причину неудовлетворительного поведения и выдать действенные рекомендации. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 00:25 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas планы одинаковые, трассировку на тестовом и именно во время этого эффекта не делали и сегодня уже не сделать а нам и не надо сегодня, сделайте когда сможете, тогда и приходите. зачем гадать, когда все можно посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 05:26 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Dimkas Собственно вопрос - чтоб это было? Это кара за грех двузвенного блобоугодия. Какие 100 гб блобов в базу? Зачем это нужно? Сделайте по-людски, сложите всё куда-нибудь, а в базу ссылки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 05:57 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
crutchmaster Какие 100 гб блобов в базу? ни вижу никаких проблем. почему, интересно, это "вредно" для здоровья? crutchmaster Сделайте по-людски, сложите всё куда-нибудь, а в базу ссылки. ага и получи нервный срыв пытаясь это администрировать))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 08:48 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
crutchmaster Dimkas Собственно вопрос - чтоб это было? Это кара за грех двузвенного блобоугодия. четкий троллинг ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 10:05 |
|
Влияние размера базы на скорость запросов
|
|||
---|---|---|---|
#18+
Надфиль ни вижу никаких проблем. Это странно. Вроде как ТС их уже обозначил. Надфиль ага и получи нервный срыв пытаясь это администрировать))) Что там админить? Файлы лежат себе спокойно на http сервачке и никого не трогают. С кучей файлов всяко легче справиться, чем с постоянно растущим блобом. Поди как обычно, базу проектировали под дельфи фронтэнд. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 11:13 |
|
|
start [/forum/topic.php?fid=52&msg=39974270&tid=1881097]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 167ms |
0 / 0 |