|
|
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Доброго вермени суток, All! возникла проблема оптимизации времени выполнения функции. ...Дело в том, что необходимо написать функцию, возвращающую некий датасет... И там в 40+ запросов при его заполнении, во вложенных подзапросах часто встречаются довольно тяжелые вьюшки "from all_tables", "from all_views", "from ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C" ну и т.д. Я сам на M$ до этого в основном тужился оптимизировать... Там просто. Создал #table, вычитал необходимый минимум, проиндексировал, и пользуйся в пределах сессии. Подскажите в Оракле направление движения, чтобы быстро, без создания постоянных таблиц выполнить довольно тяжелую череду запросов (желательно без полного скана, а по индексу, с табличными типами данных это реально?), выдать результат, и забыть об этой череде запросов, как о страшном сне. P.S. Запрос будет по сути неконкуррентным. Это админский функционал. Что уже легче. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 23:12 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
да, набор этих временных датасетов - от 2К до 30К... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 23:14 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ik...Дело в том, что необходимо написать функцию, возвращающую некий датасет... Вы уверены, что именно это вам и нужно? Никаких других способов решения задачи вы не признаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 05:31 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
SQL*PlusMakar4ik...Дело в том, что необходимо написать функцию, возвращающую некий датасет... Вы уверены, что именно это вам и нужно? Никаких других способов решения задачи вы не признаете?Можно пэкэдж. Просто не хотелось бы плодить лишние сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 17:18 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ikSQL*Plusпропущено... Вы уверены, что именно это вам и нужно? Никаких других способов решения задачи вы не признаете?Можно пэкэдж. Просто не хотелось бы плодить лишние сущности.А написать все в одной команде SELECT? Нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 21:46 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ikSQL*Plusпропущено... Вы уверены, что именно это вам и нужно? Никаких других способов решения задачи вы не признаете?Можно пэкэдж. Просто не хотелось бы плодить лишние сущности. Можно представление. Сущностей будет на одну меньше, чем с пакетом. Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2017, 04:13 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
SQL*PlusMakar4ikпропущено... Можно пэкэдж. Просто не хотелось бы плодить лишние сущности.А написать все в одной команде SELECT? Нет?Да запросто! Просто хочется, чтобы выполнялось хотя-бы секунд 10. А одним селектом - я за полчаса не выползу. ...К сожалению. Посему, и хотел делать промежуточные начитки, и уже крутить заранее "схлопнутые" и проиндексированные наборы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 02:40 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
suPPLerMakar4ikпропущено... Можно пэкэдж. Просто не хотелось бы плодить лишние сущности. Можно представление. Сущностей будет на одну меньше, чем с пакетом. Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски.Да я бы рассмотрел любые предложения. Как у сервера спросить - известно заранее. Там проблем нет. Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек. В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д. Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 02:44 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4iksuPPLerпропущено... Можно представление. Сущностей будет на одну меньше, чем с пакетом. Или вообще скрипт, чтобы обойтись без объектов. Функционально и по-админски.Да я бы рассмотрел любые предложения. Как у сервера спросить - известно заранее. Там проблем нет. Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек. В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д. Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет. ...Поясню, зачем этот зверь: Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД. Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД. А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков. Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами. Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды. Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 02:55 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ikMakar4ikпропущено... Да я бы рассмотрел любые предложения. Как у сервера спросить - известно заранее. Там проблем нет. Проблема в том, как это всё чудище спросить быстро, и по возможности, минимизируя множественные вычитки из системных вьюшек. В данный момент как раз скриптом оформлено. С убиением-созданием таблиц, индексами, и т.д. Задача как раз в том, чтобы оформить это так, чтобы из интерфейса вызвать по имени, и получить датасет. ...Поясню, зачем этот зверь: Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД. Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД. А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков. Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами. Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды. Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит... Ну, вот посему и вопрос MSSQL-ника: Есть ли какой-то аналог #таблицам от M$, либо какой-то механизм индексации табличных типов? Либо всё-таки придётся создавать постоянные таблицы с разделением данных по сессиям, и уже в них хранить своё временное добрище? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 03:02 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ikзверь: Есть джавовская библиотека HibernateMakar4ikMSSQL-никБудет лучше, если это Г сдохнет. Чтоб не дискредитировало форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 08:21 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ik...Поясню, зачем этот зверь: Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД. Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД. А скрипт должен проверить этот слепок на 30+ разных недомоганий, несоответствий, и кривых рук разработчиков. Итого, мне 30+ раз вычитать системные вьюшки приходится, часто с довольно сложными джоинами. Через скрипт, при предварительной вычитке в таблицу, самый тяжкий из запросов выполняется 2 секунды. Без этой вычитки и индексации (прям по вьюшкам) - минут 40 выходит... запросы к этим all_tables, all_views, ALL_CONS_COLUMNS, ALL_CONSTRAINTS и т.д., материализуй. И сделай рефреш раз в 5-10 мин. у нас помогло... зы Там, мало того, что данных немало, так и еще эти словарные вьюхи нехилые планы дают, с кучей путей разных типов и с афигенными стоимостями. И если к этим словарным вьюхам обращаются десятки и сотни юзеров в сек/мин, то бд вешается напрочь в общем, типичная проблема для веб приложения и ORM.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 10:37 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
казинакORMНах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 10:42 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ikP.S. Запрос будет по сути неконкуррентным. Это админский функционал. Что уже легче. Заранее благодарен. а если неконкурентный, то пусть себе 40 мин выполняется жалко что ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 10:53 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
ElicказинакORMНах. видишь ли дарагой, твое мнение не интересует ни софтверные конторы, ни разрабов, которые там работают, ни микрософт с его linq, ни оракл с его жавой и JPA ORM состоялся, как бы его не хаяли, такие замшелые пни, как ты ну а мне лично пофик, я админю и базы, и сервера приложений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 11:01 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
казинаквидишь ли дарагой, твое мнение не интересует ни софтверные конторыТам-парам-тарам!!! К нам вышел самый главный самых главных! Но почему-то безграмотный. казинакя админюТы не выбираешь гуано. Поэтому странно слышать прославление конкретных его сортов. Ты, как неразраб, ни хера не понимаешь или не решаешь. Но можешь подлизывать начальству. (Ничего личного) Я думаю, что не ошибусь, когда скажу что конторам насрать не только на моё скромное мнение, но и на нескромные тонны ваших, высказанных в этой песочнице. Но спасибо тебе за неравнодушное дыхание к моей персоне. Это вовсе не требуется. Такие пни, как я, будут спокойно сидеть на берегу реки, наблюдая за остатками трупов, проплывающих мимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 11:29 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
ElicТакие пни, как я, будут спокойно сидеть на берегу реки, наблюдая за остатками трупов, проплывающих мимо. нене чувак таких пней как ты больше нету такой ты один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 11:59 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
казинакнене чувак таких пней как ты больше нету такой ты одинказинактакие замшелые пни, как тыЕсли честно, я так и не понял твоей непоследовательности. Ты не мог бы определиться, у тебя приязнь ко мне, или ко всем не отягощённым лояльностью к кормящей конторе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:10 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Makar4ik, считай все данные как есть в память и перепиши скрипт на языке программирования к базе будет 7 запросов (7 таблиц), в памяти все будет работать быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:12 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
казинак, Уверен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:12 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
17-77и перепиши скрипт на языке программированияОпа-на... На каком? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:13 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Elic17-77и перепиши скрипт на языке программированияОпа-на... На каком? На Java, вестимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:15 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
BfinkElicпропущено... Опа-на... На каком? На Java, вестимоЧур-чур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:19 |
|
||
|
Оптимизация запросов.
|
|||
|---|---|---|---|
|
#18+
Bfinkказинак, Уверен? в чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 12:32 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39380275&tid=1886633]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 318ms |

| 0 / 0 |
