Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
Добрый день!

Возник странный вопрос, хочется посоветоваться с сообществом.
Опишу ситуацию - есть небольшая база на Oracle 11.2, в базе 100-150 таблиц, десятки тысяч строк в основных 15-20 таблицах, остальное справочники. Суммарный размер дампа базы около 100 гигабайт, но в основном он набрал блобами Word-документов.

Есть запрос (вьюшка), которые собирает данные из 20-30 таблиц.
Скорость работы запроса недавно внезапно упала в несколько раз - было 5-7 секунд, стало около 25 секунд.

В ходе выяснения причины оказалось, что на тестовой копии базы запрос выполняется за 2-3 секунды,
то есть даже быстрее чем раньше было в рабочей базе, хотя тестовый сервер сильно слабее.

Начали искать отличия - и оказалось, что в тест не перенесены данные самой большой таблицы -
бинарные данные (блобы) хранимых в системе документов, которые составляют более 98% размера дампа базы.

В результате выяснили, что если перенести в тест все таблицы с данными, кроме одной, которая содержит 300 тысяч блобов,
то всё летает. А потом добавляем в базу данные блобов (100 гигабайт) и запрос начинает тормозить, хотя в нём нет обращения к этим блобам. После удаления из базы таблицы с блобами запрос опять начинает работать быстро.

Собственно вопрос - чтоб это было? может ли физический размер табличных пространств/дата-файлов влиять на скорость выполнения запросов? почему таблица с блобами влияет на запрос, в котором никак не участвует?

с уважением,
Дмитрий Жучков
29 июн 20, 13:27    [22159020]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1275
Dimkas,

select * ?
29 июн 20, 13:41    [22159031]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
oragraf,
все поля явно указаны и проименованы, вьюшка же
29 июн 20, 13:49    [22159039]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
Dimkas,

а как блобы определены?
и какова вообще длина записи (в байтах) в этой таблице?
29 июн 20, 14:23    [22159069]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
Надфиль,
структура таблицы с блобами грубо говоря такая:
CREATE TABLE BLOBS (
  GUID VARCHAR2(32),
  DATA BLOB,
  COMMENT VARCHAR2(256),
  HASH VARCHAR2(36)
)

никаких особенностей хранения таблица не имеет, всё параметры по умолчанию,

длина записи в самой таблице или средняя длина блоба?
в самой таблице - байт 400 от силы,
блобы в среднем по 30килобайт - вордовские документы на 5-10 страниц.
29 июн 20, 14:30    [22159078]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
Dimkas

блобы в среднем по 30килобайт - вордовские документы на 5-10 страниц.

я имел ввиду нет ли интересных опций хранения блобов
ENABLE STORAGE IN ROW
basefile или secure?

хотя тут вроде с такими объемами и тормозить нечему.
если, конечно, пару декартовых произведений не вкорячить куда нибудь)
ЗЫ:
Проверить индексы, собрать статистику, включить трассировку и конкретно посмотреть что делает запрос? это вес пройденные этапы?

Сообщение было отредактировано: 29 июн 20, 14:41
29 июн 20, 14:42    [22159092]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
Надфиль,

да, все перечисленные этапы пройдены -
проблема в том, что эта таблица с блобами никаким образом не связана с запросом,
который начал тормозить.
ее можно переименовать, можно удалить - запрос работает, только время отклика меняется
29 июн 20, 14:46    [22159096]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
грубо говоря картина такая - есть база на 100 таблиц,
в ней есть достаточно сложный запрос, который выполняется за 2-3 секунды и все этим временем довольны,

в базу добавляется 101-я таблица, которая раздувает размер базы на диске в 100 раз,
это практически реальные цифры - наша база без блобов 1.3 гига, с блобами 124 гига.

новая таблица никак не участвует в запросе, он работал еще когда ее не было в базе,
и продолжает работать, но после добавления новой таблицы запрос тормозится в несколько раз
29 июн 20, 14:51    [22159099]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 46
Dimkas
в базу добавляется 101-я таблица, которая раздувает размер базы на диске в 100 раз,
это практически реальные цифры - наша база без блобов 1.3 гига, с блобами 124 гига.

новая таблица никак не участвует в запросе, он работал еще когда ее не было в базе,
и продолжает работать, но после добавления новой таблицы запрос тормозится в несколько раз
- сферическая какая то фиговина в вакуме описывается, может как-то уже пример запроса с планом привести?

Сообщение было отредактировано: 29 июн 20, 15:05
29 июн 20, 15:06    [22159110]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
кит северных морей
Member

Откуда: krsk / nyc / krsk
Сообщений: 766
планы сравнивали? одинаковые? если да - на что конкретно тратится время "медленного" запроса? каких событий ждёт?
29 июн 20, 15:08    [22159112]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
Dimkas

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

сказки какие то)
ну или баги.
29 июн 20, 15:22    [22159122]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
landy
Member

Откуда:
Сообщений: 1439
А с таблицей в эти моменты другие сессии не работают?
29 июн 20, 15:26    [22159126]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
landy
А с таблицей в эти моменты другие сессии не работают?

ну это если только совсем слабый сервер.
я лично добавлял/перемещал/импортировал и удалял по полтеррабайта за день, и никакого влияния не было на основной функционал.
29 июн 20, 15:37    [22159131]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8657
«Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит» ( С )
29 июн 20, 15:53    [22159137]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
landy
Member

Откуда:
Сообщений: 1439
Надфиль

ну это если только совсем слабый сервер.

Что значит слабый?
Если у ТС, извините за выражение, говенная подсистема ввода/вывода - хоть забей сотней процессоров ее - все равно будет тормозить.
Без понимания на чем у ТС все крутится - сейчас гадание на кофейной гуще.
29 июн 20, 16:14    [22159150]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
landy

Что значит слабый?

да вот примерно это)
landy
говенная подсистема ввода/вывода
29 июн 20, 17:16    [22159175]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Synoptic
Member

Откуда:
Сообщений: 156
Blob в том же tablespace?
29 июн 20, 19:20    [22159230]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
S_e_r_j
сферическая какая то фиговина в вакуме описывается, может как-то уже пример запроса с планом привести?

полный запрос это многие сотни строк, таблица с блобами в нём не участвует ни разу и никак вообще

Надфиль,
тестовый сервер не просто слабый, а очень слабый - фактически это обычная персоналка, чуть мощнее среднего,
система небольшая, умещается... рабочий сервер больше конечно, но речь про тестовый

landy
А с таблицей в эти моменты другие сессии не работают?

других сессий нет - тестовая система однопользовательская

Synoptic
Blob в том же tablespace?

да, одно табличное пространство, одна схема, один диск, один процессор на сервер, только дата-файлов 6 штук и ядер у процессора 4

кит северных морей
планы сравнивали? одинаковые? если да - на что конкретно тратится время "медленного" запроса? каких событий ждёт?

планы одинаковые, трассировку на тестовом и именно во время этого эффекта не делали и сегодня уже не сделать
29 июн 20, 19:46    [22159239]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Dimkas
Member

Откуда: Красноярск
Сообщений: 351
пожалуй, не буду больше занимать ваше время, спасибо за озвученные идеи

я так понял, что явление массовым и общеизвестным не является
и причины эффекта скорее всего находятся за пределами Oracle

самоизоляция, сотни пользователей на удалёнке (включая всех участников тестов),
нагрузка на сервера и сети... где-то там будем искать
29 июн 20, 19:51    [22159242]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18065
Dimkas
я так понял, что явление массовым и общеизвестным не является

Вы соединяете 30 таблиц.
К каждой из которых потенциально может быть с десяток методов доступа.
И по три разных способа присоединения каждой из.
Посчитайте количество перестановок таблиц, помножите количество возможных соединений и путей доступа и примерно оцените количество вариаций, которые должен рассмотреть оптимизатор в процессе поиска решения Вашей задачи.
Ну и как думаете, предложенный к обсуждению сферический конь в вакууме действительно должен вызвать ажиотаж в теме?

Обсуждать имеет смысл конкретику.
Конкретный план исполнения конкретного запроса в конкретной схеме с конкретной статистикой таблиц/индексов, с конкретной статистикой исполнения...
Или сравнительный анализ планов/статистик с двух систем (хорошо vs плохо).
Запрос у Вас сложный, задача оптимизации/траблшутинга не тривиальная.
Если вменяемый тесткейс сделать не получается и собственной квалификации для решения недостаточно - имеет смысл рассмотреть вопрос найма специалиста, способного разобрать Ваш случай в деталях, выявить причину неудовлетворительного поведения и выдать действенные рекомендации.
30 июн 20, 00:25    [22159335]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6860
Dimkas
планы одинаковые, трассировку на тестовом и именно во время этого эффекта не делали и сегодня уже не сделать

а нам и не надо сегодня, сделайте когда сможете, тогда и приходите. зачем гадать, когда все можно посмотреть?
30 июн 20, 05:26    [22159374]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1392
Dimkas
Собственно вопрос - чтоб это было?

Это кара за грех двузвенного блобоугодия. Какие 100 гб блобов в базу? Зачем это нужно? Сделайте по-людски, сложите всё куда-нибудь, а в базу ссылки.
30 июн 20, 05:57    [22159378]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
Надфиль
Member

Откуда:
Сообщений: 226
crutchmaster
Какие 100 гб блобов в базу?

ни вижу никаких проблем.
почему, интересно, это "вредно" для здоровья?
crutchmaster
Сделайте по-людски, сложите всё куда-нибудь, а в базу ссылки.

ага и получи нервный срыв пытаясь это администрировать)))
30 июн 20, 08:48    [22159426]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6860
crutchmaster
Dimkas
Собственно вопрос - чтоб это было?

Это кара за грех двузвенного блобоугодия.


четкий троллинг
30 июн 20, 10:05    [22159471]     Ответить | Цитировать Сообщить модератору
 Re: Влияние размера базы на скорость запросов  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1392
Надфиль
ни вижу никаких проблем.

Это странно. Вроде как ТС их уже обозначил.
Надфиль
ага и получи нервный срыв пытаясь это администрировать)))

Что там админить? Файлы лежат себе спокойно на http сервачке и никого не трогают. С кучей файлов всяко легче справиться, чем с постоянно растущим блобом. Поди как обычно, базу проектировали под дельфи фронтэнд.

Сообщение было отредактировано: 30 июн 20, 11:13
30 июн 20, 11:13    [22159508]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Oracle Ответить