powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация запросов.
15 сообщений из 40, страница 2 из 2
Оптимизация запросов.
    #39380282
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfinkказинак,

Что ты еще не плаваешь по течению?
ээээ
апчем речь?
то что я в в форуме оракла высказываюсь НЕ в благоговейном трепете в пользу оракловых фич?
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380283
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicТы не мог бы определиться, у тебя приязнь ко мне, или ко всем не отягощённым лояльностью к кормящей конторе?
тьфу на тебя
за своим словесным поносом ты просто прячешь свою недалекость и раздутое эго

приязнь к тебе могла бы возникнуть у меня при условии, что ты симпатишный, и что ты - ДЕВУШКА
если ты этими качествами не обладаешь, то извиняй - ты в пролете
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380285
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакты симпатишный, и что ты - ДЕВУШКАТы не боишься выпячивать в форум то, что ты гормонозависимый молокосос?
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380286
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакприязнь к тебе могла бы возникнуть у меня при условии, что ты симпатишный, и что ты - ДЕВУШКА
А что важней, если не секрет?
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380287
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудровказинакприязнь к тебе могла бы возникнуть у меня при условии, что ты симпатишный, и что ты - ДЕВУШКА
А что важней, если не секрет?
ну емае, Вячеслав,
вы еще скажите что вам симпатишные девушки неинтересны....
(я не по елика, есличе)
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380344
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакMakar4ik...Поясню, зачем этот зверь:
Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД.
Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД.

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

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

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

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

в общем, типичная проблема для веб приложения и ORM....Раз я уж отметился в этой теме (всех с Рождеством Христовым!), то парочку наблюдений для ТС (я цитирую не его, но, видимо казинак просто более подробно описал, куда надо смотреть, да и сам я с этим немного сталкивался)

1. Если уж действительно интересуют именно ALL_TABLES, ALL_что-то-еще и т.д., то я вижу следущие варианты:
-- во-первых, в принципе отказаться от ALL_* и юзать DBA_*. Насколько я понял -- права у ТС соответствующие есть. Причина -- дополнительные (многие избыточные) проверки
-- как предложили, можно материализовать их в отдельные таблички (насколько понимаю, простые MV здесь не сработают, поэтому, это велосипед)
-- можно юзать with с кляузой /*+ materialize */ (это просто для набора решений)
-- можно подсмотреть, из чего состоят требуемые вьюшки и составить свои над базовыми таблицами (убрав всякие лишние проверки, появившиеся после всяких DBVault и Editions), возможно будет достаточно родных DBA_INTERNAL_* вьюшек (с 11g?). Выглядит сложновато, но на самом деле достаточно просто (даже для 30 экземпляров). Следует отметить, что пересоздание ALL_OBJECTS и ALL_SYNONYMS из более старых версий в свое время было приведено как workaround от support при смене версии именно из-за усложнившихся проверок

2. По поводу возвращения датасета:
Оно конечно можно вернуть или как REF_CURSOR, или VIEW, PIPELINED функция или даже заполненная временная таблица, но зачем?
Я так понимаю, тебе нужен протокол [не]соответствия и, возможно, команды по привидению в порядок
Т.е. либо сформировать скрипт, чтоб ты проглядел глазками и запустил на выполнение (возможно, поправив), либо они уже вообще были запущены в твоей процедурке.
Для этого датасет как-то лишний
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39380892
Алекссс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудровв принципе отказаться от ALL_* и юзать DBA_*. Насколько я понял -- права у ТС соответствующие есть.
да прямо из таблиц брать
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386518
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакMakar4ik...Поясню, зачем этот зверь:
Есть джавовская библиотека Hibernate. Она строит в мозгах объектную модель БД.
Строит на основе слепка модели, которая хранится в 7-ми таблицах в БД.

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

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

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

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

в общем, типичная проблема для веб приложения и ORM....Нет.
Запросы разовые.
Раз в час/сутки/неделю.
Считаем, что пару раз в сутки. Больше, по сути - не надо. Это алгоритм, который проверяет здоровье словарной системы по ХХ параметрам.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386519
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакMakar4ikP.S. Запрос будет по сути неконкуррентным. Это админский функционал. Что уже легче.

Заранее благодарен.
а если неконкурентный, то пусть себе 40 мин выполняется
жалко что ли...жалко.
Админскими правами на DEV стенде обладает каждый разраб.
30 раз в месяц по 40 минут - это четверть зарплаты.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386521
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77Makar4ik,
считай все данные как есть в память и перепиши скрипт на языке программирования
к базе будет 7 запросов (7 таблиц), в памяти все будет работать быстрееЗадача не наваять софт, а из любого софта вызвать метод в оракле, который смог бы... И за разумное время.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386524
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудровказинакпропущено...

запросы к этим all_tables, all_views, ALL_CONS_COLUMNS, ALL_CONSTRAINTS и т.д., материализуй.
И сделай рефреш раз в 5-10 мин.

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

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

в общем, типичная проблема для веб приложения и ORM....Раз я уж отметился в этой теме (всех с Рождеством Христовым!), то парочку наблюдений для ТС (я цитирую не его, но, видимо казинак просто более подробно описал, куда надо смотреть, да и сам я с этим немного сталкивался)

1. Если уж действительно интересуют именно ALL_TABLES, ALL_что-то-еще и т.д., то я вижу следущие варианты:
-- во-первых, в принципе отказаться от ALL_* и юзать DBA_*. Насколько я понял -- права у ТС соответствующие есть. Причина -- дополнительные (многие избыточные) проверки
-- как предложили, можно материализовать их в отдельные таблички (насколько понимаю, простые MV здесь не сработают, поэтому, это велосипед)
-- можно юзать with с кляузой /*+ materialize */ (это просто для набора решений)
-- можно подсмотреть, из чего состоят требуемые вьюшки и составить свои над базовыми таблицами (убрав всякие лишние проверки, появившиеся после всяких DBVault и Editions), возможно будет достаточно родных DBA_INTERNAL_* вьюшек (с 11g?). Выглядит сложновато, но на самом деле достаточно просто (даже для 30 экземпляров). Следует отметить, что пересоздание ALL_OBJECTS и ALL_SYNONYMS из более старых версий в свое время было приведено как workaround от support при смене версии именно из-за усложнившихся проверок

2. По поводу возвращения датасета:
Оно конечно можно вернуть или как REF_CURSOR, или VIEW, PIPELINED функция или даже заполненная временная таблица, но зачем?
Я так понимаю, тебе нужен протокол [не]соответствия и, возможно, команды по привидению в порядок
Т.е. либо сформировать скрипт, чтоб ты проглядел глазками и запустил на выполнение (возможно, поправив), либо они уже вообще были запущены в твоей процедурке.
Для этого датасет как-то лишнийСпасибо. Искренне.
Буду перечитывать, и чесать лысину...

...Пока посоветовали на работе - просто сляпать пэкэдж, с созданием постоянных, разделённых по сессиям таблиц, и там крутить.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386531
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эх...
Не хватает временами M$$QL-ного сахарку синтаксического...

Те же IDENTITY, user функции как default у полей, или те же #таблички
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386537
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексссВячеслав Любомудровв принципе отказаться от ALL_* и юзать DBA_*. Насколько я понял -- права у ТС соответствующие есть.
да прямо из таблиц братьДа, вероятно и очевидно, что у ТС (я) есть.
Но хотелось бы, чтобы и под другими логинами что-то шевелилось.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386542
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Makar4ikэх...
Не хватает временами M$$QL-ного сахарку синтаксического...

Те же IDENTITY, user функции как default у полей, или те же #табличкиНу вот тебе identity и user функция как значение по умолчанию.
Код: plsql
1.
2.
3.
4.
5.
6.
create table ttt
(
  id int generated always as identity,
  v varchar2(30) default user,
  n number
);

А если речь шла про пользовательские функции - это тоже можно, но сначала обоснуй необходимость.

А для замены # и ## табличек есть local/global temporary tables, но тебе же некогда читать теорию, надо говнокодить.

Если когда-нибудь найдется время ознакомиться с Том Кайт - Oracle для профессионалов, то осознаешь всю нелепость своих вопросов.
...
Рейтинг: 0 / 0
Оптимизация запросов.
    #39386631
Алекссс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Makar4ikАлекссспропущено...

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


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