Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация запросов. / 25 сообщений из 40, страница 1 из 2
04.01.2017, 23:12
    #39379591
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Доброго вермени суток, All!

возникла проблема оптимизации времени выполнения функции.
...Дело в том, что необходимо написать функцию, возвращающую некий датасет...
И там в 40+ запросов при его заполнении, во вложенных подзапросах часто встречаются довольно тяжелые вьюшки "from all_tables", "from all_views", "from ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C" ну и т.д.

Я сам на M$ до этого в основном тужился оптимизировать...
Там просто. Создал #table, вычитал необходимый минимум, проиндексировал, и пользуйся в пределах сессии.

Подскажите в Оракле направление движения, чтобы быстро, без создания постоянных таблиц выполнить довольно тяжелую череду запросов (желательно без полного скана, а по индексу, с табличными типами данных это реально?), выдать результат, и забыть об этой череде запросов, как о страшном сне.

P.S. Запрос будет по сути неконкуррентным. Это админский функционал. Что уже легче.

Заранее благодарен.
...
Рейтинг: 0 / 0
04.01.2017, 23:14
    #39379592
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
да, набор этих временных датасетов - от 2К до 30К...
...
Рейтинг: 0 / 0
05.01.2017, 05:31
    #39379642
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ik...Дело в том, что необходимо написать функцию, возвращающую некий датасет...
Вы уверены, что именно это вам и нужно?
Никаких других способов решения задачи вы не признаете?
...
Рейтинг: 0 / 0
05.01.2017, 17:18
    #39379750
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
SQL*PlusMakar4ik...Дело в том, что необходимо написать функцию, возвращающую некий датасет...
Вы уверены, что именно это вам и нужно?
Никаких других способов решения задачи вы не признаете?Можно пэкэдж.
Просто не хотелось бы плодить лишние сущности.
...
Рейтинг: 0 / 0
05.01.2017, 21:46
    #39379858
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ikSQL*Plusпропущено...

Вы уверены, что именно это вам и нужно?
Никаких других способов решения задачи вы не признаете?Можно пэкэдж.
Просто не хотелось бы плодить лишние сущности.А написать все в одной команде SELECT? Нет?
...
Рейтинг: 0 / 0
06.01.2017, 04:13
    #39379928
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ikSQL*Plusпропущено...

Вы уверены, что именно это вам и нужно?
Никаких других способов решения задачи вы не признаете?Можно пэкэдж.
Просто не хотелось бы плодить лишние сущности.
Можно представление. Сущностей будет на одну меньше, чем с пакетом.

Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски.
...
Рейтинг: 0 / 0
07.01.2017, 02:40
    #39380226
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
SQL*PlusMakar4ikпропущено...
Можно пэкэдж.
Просто не хотелось бы плодить лишние сущности.А написать все в одной команде SELECT? Нет?Да запросто!
Просто хочется, чтобы выполнялось хотя-бы секунд 10.
А одним селектом - я за полчаса не выползу.
...К сожалению.

Посему, и хотел делать промежуточные начитки, и уже крутить заранее "схлопнутые" и проиндексированные наборы данных.
...
Рейтинг: 0 / 0
07.01.2017, 02:44
    #39380227
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
suPPLerMakar4ikпропущено...
Можно пэкэдж.
Просто не хотелось бы плодить лишние сущности.
Можно представление. Сущностей будет на одну меньше, чем с пакетом.

Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски.Да я бы рассмотрел любые предложения.
Как у сервера спросить - известно заранее. Там проблем нет.
Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек.

В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д.
Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет.
...
Рейтинг: 0 / 0
07.01.2017, 02:55
    #39380230
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4iksuPPLerпропущено...

Можно представление. Сущностей будет на одну меньше, чем с пакетом.

Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски.Да я бы рассмотрел любые предложения.
Как у сервера спросить - известно заранее. Там проблем нет.
Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек.

В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д.
Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет.
...Поясню, зачем этот зверь:
Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД.
Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД.

А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков.
Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами.

Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды.
Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит...
...
Рейтинг: 0 / 0
07.01.2017, 03:02
    #39380231
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ikMakar4ikпропущено...
Да я бы рассмотрел любые предложения.
Как у сервера спросить - известно заранее. Там проблем нет.
Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек.

В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д.
Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет.
...Поясню, зачем этот зверь:
Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД.
Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД.

А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков.
Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами.

Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды.
Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит...

Ну, вот посему и вопрос MSSQL-ника:
Есть ли какой-то аналог #таблицам от M$, либо какой-то механизм индексации табличных типов?
Либо всё-таки придётся создавать постоянные таблицы с разделением данных по сессиям, и уже в них хранить своё временное добрище?
...
Рейтинг: 0 / 0
07.01.2017, 08:21
    #39380242
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ikзверь:
Есть джавовская библиотека HibernateMakar4ikMSSQL-никБудет лучше, если это Г сдохнет. Чтоб не дискредитировало форум.
...
Рейтинг: 0 / 0
07.01.2017, 10:37
    #39380253
казинак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ik...Поясню, зачем этот зверь:
Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД.
Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД.

А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков.
Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами.

Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды.
Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит...
запросы к этим all_tables, all_views, ALL_CONS_COLUMNS, ALL_CONSTRAINTS и т.д., материализуй.
И сделай рефреш раз в 5-10 мин.

у нас помогло...

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

в общем, типичная проблема для веб приложения и ORM....
...
Рейтинг: 0 / 0
07.01.2017, 10:42
    #39380254
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
казинакORMНах.
...
Рейтинг: 0 / 0
07.01.2017, 10:53
    #39380255
казинак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ikP.S. Запрос будет по сути неконкуррентным. Это админский функционал. Что уже легче.

Заранее благодарен.
а если неконкурентный, то пусть себе 40 мин выполняется
жалко что ли...
...
Рейтинг: 0 / 0
07.01.2017, 11:01
    #39380258
казинак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
ElicказинакORMНах.
видишь ли дарагой, твое мнение не интересует ни софтверные конторы, ни разрабов, которые там работают,
ни микрософт с его linq, ни оракл с его жавой и JPA
ORM состоялся,
как бы его не хаяли, такие замшелые пни, как ты

ну а мне лично пофик, я админю и базы, и сервера приложений...
...
Рейтинг: 0 / 0
07.01.2017, 11:29
    #39380261
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
казинаквидишь ли дарагой, твое мнение не интересует ни софтверные конторыТам-парам-тарам!!! К нам вышел самый главный самых главных! Но почему-то безграмотный.

казинакя админюТы не выбираешь гуано. Поэтому странно слышать прославление конкретных его сортов. Ты, как неразраб, ни хера не понимаешь или не решаешь. Но можешь подлизывать начальству. (Ничего личного)

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

Такие пни, как я, будут спокойно сидеть на берегу реки, наблюдая за остатками трупов, проплывающих мимо.
...
Рейтинг: 0 / 0
07.01.2017, 11:59
    #39380271
казинак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
ElicТакие пни, как я, будут спокойно сидеть на берегу реки, наблюдая за остатками трупов, проплывающих мимо.
нене чувак
таких пней как ты больше нету
такой ты один
...
Рейтинг: 0 / 0
07.01.2017, 12:10
    #39380273
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
казинакнене чувак
таких пней как ты больше нету
такой ты одинказинактакие замшелые пни, как тыЕсли честно, я так и не понял твоей непоследовательности.
Ты не мог бы определиться, у тебя приязнь ко мне, или ко всем не отягощённым лояльностью к кормящей конторе?
...
Рейтинг: 0 / 0
07.01.2017, 12:12
    #39380274
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Makar4ik,
считай все данные как есть в память и перепиши скрипт на языке программирования
к базе будет 7 запросов (7 таблиц), в памяти все будет работать быстрее
...
Рейтинг: 0 / 0
07.01.2017, 12:12
    #39380275
Bfink
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
казинак,

Уверен?
...
Рейтинг: 0 / 0
07.01.2017, 12:13
    #39380276
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
17-77и перепиши скрипт на языке программированияОпа-на... На каком?
...
Рейтинг: 0 / 0
07.01.2017, 12:15
    #39380277
Bfink
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Elic17-77и перепиши скрипт на языке программированияОпа-на... На каком?
На Java, вестимо
...
Рейтинг: 0 / 0
07.01.2017, 12:19
    #39380278
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
BfinkElicпропущено...
Опа-на... На каком?
На Java, вестимоЧур-чур.
...
Рейтинг: 0 / 0
07.01.2017, 12:32
    #39380279
казинак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
Bfinkказинак,

Уверен?
в чем?
...
Рейтинг: 0 / 0
07.01.2017, 12:39
    #39380281
Bfink
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов.
казинак,

Что ты еще не плаваешь по течению?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация запросов. / 25 сообщений из 40, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]