@dba_ru

Страница 127 из 718
Mikhail
03.05.2017
06:45:57
Граждане, поможите, чем можите

Есть большой запрос, финальным условием ставлю id юзера

так вот, для всех юзеров кроме одного - идет нормально, по индексам, работает ожидаемое время

а если запускаю только для этого юзера - уходит на фуллскан, время отличается в десятки раз

Google
Mikhail
03.05.2017
06:47:10
бд - оракл

юзер принципиально ничем не отличается от остальных

объемы связанных данных одного порядка

Sergey
03.05.2017
06:49:12
Скорее всего выбирает другой план

Можно через database console посмотреть какой план наиболее подходящий и прибить его гвоздями.

Гвозди брать здесь http://docs.oracle.com/cd/E25178_01/server.1111/e16638/outlines.htm

Mikhail
03.05.2017
06:51:41
БД 11g

я просто внезапно только полгода в конторе где оракл, поэтому дурак пока

всегда с постгресом работал

Скорее всего выбирает другой план
Это как раз точно, я проверял, планы выполнения сильно отличаются в этих случаях

Dmitry
03.05.2017
06:53:53
конкретно для это юзера можно жестко закрепить другой план. конкретно для одного именно символ в символ. хоть один символ лишний - свалится в фуллскан. есть родной SQL Developer - у него можно запустить профилировку - он все рекомендации выдаст что и как там.

Sergey
03.05.2017
06:53:55
Какой план лучше понятно?

Google
Mikhail
03.05.2017
06:55:36
Какой план лучше понятно?
Который для всех остальных юзеров

писать хинты слегка не хочется, т.к. вскоре ожидается переход на 12 оракл, девопс говорит, что там хинты отключены будут

Dmitry
03.05.2017
06:56:16
DBMS_SQLTUNE - http://citforum.ru/database/oracle/sqltune/

Evgeny_30
03.05.2017
06:57:23
добрый день товарищи

Sergey
03.05.2017
06:59:32
Можно зафиксировать нужный план через SQL Baseline http://docs.oracle.com/cd/E25178_01/server.1111/e16638/optplanmgmt.htm#PFGRF007 Как с этим местом будет в 12c не знаю

lost
03.05.2017
07:40:02
Опять же, под мультисорс подразумевается, что ты будешь реплицировать из n серверов в один слейв

Условно говоря

Mikhail
03.05.2017
07:53:12
Какой план лучше понятно?
Нашёл таки у себя косяк в запросе

Я временные рамки передавал в function и не учитывал в основном WHERE

не сообразил, что в этом случае БД будет делать JOIN по всем данным в таблице, без учета интересующих временных рамок

а у этого юзера данных в три раза больше, чем у следующего за ним, поэтому Оракл падал в неправильный план

а т.к. основной смысл запроса - ежедневный запуск - количество данных за день у всех юзеров примерно одинаковое - и будет один правильный план на всё

фух

Dmitry
03.05.2017
08:21:14
а у этого юзера данных в три раза больше, чем у следующего за ним, поэтому Оракл падал в неправильный план
может как раз в правильный если данных больше? еще кстати статистику по таблицам пересобрать можно

Mikhail
03.05.2017
08:30:43
может как раз в правильный если данных больше? еще кстати статистику по таблицам пересобрать можно
Может и правильный, то есть типа он считает, что это быстрее, чем если бы он в индекс ходил

В любом случае, конечно, даже с ограничением по времени этот юзер добавляет сильно к исполнению

Google
Mikhail
03.05.2017
08:32:46
С времеными рамками - строю за полмесяца - без этого юзера 2 секунды, с этим юзером - 15 секунд

Но, без временных рамок - это было 5-6 минут

Поэтому, в принципе, такое время устраивает, но статистику точно стоит пересобрать

Dmitry
03.05.2017
08:35:28
у тов. Пржиялковского была статья там же (откуда и первая ссылка) - из топ SQL берутся n запросов, по ним прогоняется профилирование, применяются обновленные планы для тяжелых запросов и все это шедулером. т.е. база сама себя настраивает. хз как в продакшене такое будет работать, но схема интересная. а статистику можно тем же шедулером в период наименьшей загрузки прогонять по самым популярным таблицам.

Mikhail
03.05.2017
08:40:46
Продакшном не мы рулим, это отдельные люди есть

Dmitry
03.05.2017
08:41:53
я имею в виду будет ли толк на реальных данных

Mikhail
03.05.2017
08:42:08
а, понял,хз, увидим в будущем

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

БД это учитывает? Или тупо каждый раз делает соединение по-новой?

Dmitry
03.05.2017
08:49:32
он вроде даже запрос переписывает перед выполнением. можно включить расширенную трассировку для сессии и потом покопать трейсы утилитой tkprof. там все ходы записаны будут

KOT
03.05.2017
09:39:54
Условно говоря
И.... Продолжение мысли?

lost
03.05.2017
09:41:21
мультисорс и мультимастер это не одно и тоже

у дырконы есть инфа по поводу этого всего, даже с презентациями

Konstantin
03.05.2017
10:25:46
Мужики, кто-нить работал с firebird? Какие параметры нужно в ней поправить, чтобы она юзала побольше оперативки для операций?

Fike
03.05.2017
10:39:28
У тебя правда стоит задача "использовать больше оперативки, а то чего она простаивает"?

Konstantin
03.05.2017
11:42:12
На самом деле нет) Интересно просто, как в принципе увеличить перворманс базы данных, есть ли какие-либо маст хэв бест практисес Контекст: есть приложение, работающее на ФБ, которое периодически подвисает при тяжелых запросах даже с одного клиента (приложуха в локалке, АРМов несколько), и в процессе выяснения оказалось, что чувак, который пилил приложение, он базу данных вообще не настраивал никаким образом, значит все настройки на ней дефолтные Вот интересно, что можно подкрутить Насчет оперативки: под приложение выделен отдельный небольшой сервер, и просто было замечено, что процессы используют 300-400 метров, при 8 гигах доступных

lost
03.05.2017
11:48:36
а для того чтобы тюнить

надо знать как бд работает с памятью

Google
lost
03.05.2017
11:49:20
и как она кешит данные

Admin
ERROR: S client not available

KOT
03.05.2017
17:28:58
Fike
03.05.2017
18:48:29
lost
03.05.2017
19:02:36
на К начинается

на асандра заканчивается

Bo0oM
03.05.2017
19:02:59
Креогидросандра

Fike
03.05.2017
19:03:40
на XFS ставится

Старый
03.05.2017
19:09:58
на XFS ставится
у меня на btrfs стоит с отключённым cow, тож норм, даже бстрее чем на xfs

KOT
03.05.2017
19:11:01
просто надо поставить...
Кого и в какую позу?

Fike
03.05.2017
19:30:51
Evgeniy
04.05.2017
09:25:06
подскажите как правильно восстановить бд, если у меня только копия файлов из /var/lib/mysql?

дампа нету

Evgeniy
04.05.2017
09:25:45
и на новом месте мария

я скопировал. бд видно. таблицу видно, но при попытке запросить из нее данные получаю:

KOT
04.05.2017
09:26:19
Поднять mysql, сдампить, влить в марию

Evgeniy
04.05.2017
09:26:42
ERROR 1932 (42S02): Table 'db1.table1' doesn't exist in engine

KOT
04.05.2017
09:26:59
Тулзу гуглил?

Evgeniy
04.05.2017
09:27:14
того мускуля и той ос, где все это было уже нету

Google
Evgeniy
04.05.2017
09:27:30
ошибку щас гуглю

KOT
04.05.2017
09:27:36
Сколько весит база?

Evgeniy
04.05.2017
09:27:46
мало

10 мб

KOT
04.05.2017
09:27:59
Дома подними и сдампь

Evgeniy
04.05.2017
09:28:32
про двигло это ососбенность марии? и на мускуле должно подхватить нормально?

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

KOT
04.05.2017
09:50:38
про двигло это ососбенность марии? и на мускуле должно подхватить нормально?
Предположу что да, тут зависит от нескольких факторов. Вы базу стопали перед копированием?

Evgeniy
04.05.2017
09:52:15
Предположу что да, тут зависит от нескольких факторов. Вы базу стопали перед копированием?
да, останавливал. я похоже, решил вопрос. я переносил файлы частично. решил не трогать созданные системные базы. и перенес только свои. сейчас попробовал полностью все содержимое перенести. все подхватилось и работает. по крайней мере пока

Страница 127 из 718