Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODAC генерит "мусорные" запросы / 9 сообщений из 9, страница 1 из 1
12.11.2019, 11:09
    #39887933
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
некоторое время назад я озаботился засилием запросов вида

Код: plsql
1.
2.
3.
4.
5.
SELECT '' TABLE_CATALOG, IC.TABLE_OWNER TABLE_SCHEMA, IC.TABLE_NAME, '' INDEX_CATALOG, 
IC.INDEX_OWNER INDEX_SCHEMA,IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION, DECODE(IC.DESCEND, 'ASC', 0, 1) SCENDING 
FROM SYS.ALL_IND_COLUMNS IC, SYS.ALL_INDEXES I, SYS.ALL_CONSTRAINTS C 
WHERE IC.TABLE_OWNER = 'A' AND IC.TABLE_NAME = 'ADR' AND I.UNIQUENESS = 'UNIQUE' AND        I.OWNER = IC.INDEX_OWNER 
AND I.INDEX_NAME = IC.INDEX_NAME  AND C.TABLE_NAME (+) = IC.TABLE_NAME AND C.INDEX_NAME (+) = IC.I



сначала было непонятно что это и откуда идет устойчивый массовый поток этого флуда.
встроенные в программу "sql мониоторы", так же от ODAC, это безобразие также не показывали.
поиск по коду (на сервере и в коде делфи) тоже не помогли.

оказывается это в odac встроена фича.
если программист для датасета не указал keyfield или прямо не прописал запросы refresh/update/delete, то эти простые парни из odac ищут "ключевое поле" для датасета по словарю данных.
не знаю кому как но мне странно.
1. чего бы не использовать bind переменные, для запроса?
2. зачем это вообще нужно? я крайне редко вижу вообще запросы к одной единственной таблице, обычно это дикая смесь таблиц, вьюх, функций и т.д. по моему проще и правильней сказать программисту при работе "ты тут пытаешься рефрешить запись таблицу а запрос не дал."
3. не обязательно, кстати, даже вызвать запросы refresh/update/delete, оно все равно пойдет искать "ключевое поле". т.е. просто при создании любого датасета из одак у которого не указано "ключевое поле" будет выполнен этот "мусорный запрос".
4. все бы ничего, но этот запрос (для разных таблиц)выполняется в день сотни тысяч раз. имеет десятки тысяч versions. не кисло так жрет шаред пул.

в одак о "проблеме" знают лет 10)
ну типа вот
https://forums.devart.com/viewtopic.php?t=21066

такая тема там не одна.
"советы" заключаются в
1. устанвоите keyfiled
2. напишете апросы refresh/update/delete
3. на вопросы какого Х.. так вообще сделано делают вид, что не понимают)

кто то сталкивался с безобразием?
как это массово можно прекратить. программисты както не горят желанием устанавливать это поле в сотнях форм.... и тыщях датасетов..
...
Рейтинг: 0 / 0
12.11.2019, 11:39
    #39887956
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Надфиль
программисты както не горят желанием устанавливать это поле в сотнях форм.... и тыщях датасетов..
Ты жалуешься на следствие быдлокодинга?
...
Рейтинг: 0 / 0
12.11.2019, 11:42
    #39887960
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Elic
Ты жалуешься на следствие быдлокодинга?

ага, в devart.
хотя мои тоже не без греха..
но, согласись, проставлять, лишние, никому не нужные, проперти у датасета занятие так себе.
хотя они пообещали не забывать об этом и значительно сократили последнее время этот флуд.
но, увы, еще много осталось....
...
Рейтинг: 0 / 0
12.11.2019, 13:18
    #39888032
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Надфилькак это массово можно прекратить

Перевести проекты с ODAC на OCI.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.11.2019, 14:15
    #39888067
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Dimitry Sibiryakov
Перевести проекты с ODAC на OCI.
Такого низкоуровнего многостаночника со слоганом "Я вам вам всё на API забацаю" нельзя подпускать на километр к реальным сопровождаемым проектам.
...
Рейтинг: 0 / 0
12.11.2019, 14:35
    #39888089
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Elicнельзя подпускать на километр к реальным сопровождаемым проектам.

А чем тогда пугать программистов ТСа, которые используют неестественный интеллект
компонентов вместо своего собственного?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.11.2019, 14:39
    #39888091
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Dimitry Sibiryakov
неестественный интеллект компонентов вместо своего собственного?
Пупок ещё не лопнул написать всё самому?
...
Рейтинг: 0 / 0
12.11.2019, 14:58
    #39888102
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Dimitry Sibiryakov

А чем тогда пугать программистов ТСа

пугать врядли получится. раньше когда они еще работали в офисе у них весела табличка "просьба не пугать, пол бетонный".
и они опасались за пол вапщето)
а счас кода они в офисе появляются только бумажки подписать их вообще не чем не взять)
но ход мыслей понравился.
а может сразу пугать сменой старой, доброй, ламповой Делфи на ....*? на что, кстати?
на чем счас модно писать средней сложности интерфейсы к бэкофису?
...
Рейтинг: 0 / 0
12.11.2019, 19:05
    #39888234
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODAC генерит "мусорные" запросы
Надфиль
чего бы не использовать bind переменные, для запроса?

не кисло так жрет шаред пул
Обращался х лет тому, обещали подумать. М.б. думают )

Надфиль
1. устанвоите keyfiled
2. напишете апросы refresh/update/delete
Ставим, пишем - by design так by design и меньше "белых пятен".
По 3 - да вроде бы, если не указано - только при повторном обращении из датасета к серверу...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODAC генерит "мусорные" запросы / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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