|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
Были таблицы в которых данные были разбиты на группы, кроме того были таблицы, в которых задавалось соответствие пользователя (login, переменная user) и его групп. Прикладное ПО отображало пользователю только те данные, которые соответствовали доступным пользователю группам. Прошла команда на усиление безопасности БД: потребовали сделать так, чтобы подключившись с помощью отладочных средств (типа dbaccess) человек мог видеть только ту информацию, которая соответствует его логину. Поступили просто: информацию перенесли в новые таблицы, доступ к которым с нормальным login-oм закрыт и создали вьюхи по новым таблицам с отбором по пользователям и группам с именами старых таблиц. Прикладное ПО продолжало успешно работать пока было просто отображение информации. Расчеты замедлились очень сильно: те запросы, которые раньше стоили 6-7 стали стоить более 14000: основное время уходит на выполнение вьюшки, по которой делается запрос. Проблема в том, что на каждый плевый запрос выполняется select, возвращающий тысячи длинных записей из таблицы, где их около двухсот тысяч. Соответственно вопрос: можно ли другим способом (кроме View) организовать разграничение доступа по строкам (в Oracle вроде сделали нечто подобное). Можно ли разогнать вьюхи не изменяя ПО (существует ли в Informix материализация отображений или можно ли их проиндексировать)? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2008, 22:00 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
Если информикс 11 версии то в нем вроде можно выдавать права в таблице на уровне записей с помощью LBAC (Label-based access control). А раздавать права на все таблицы с помощью view это вы погорячились. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2008, 08:37 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
bk0010Были таблицы в которых данные были разбиты на группы, кроме того были таблицы, в которых без планов ничего хорошего сказать нельзя. как вью сделали? как отбираются записи которые доступны and exists (проверка доступности) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2008, 09:00 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
AndronЕсли информикс 11 версии то в нем вроде можно выдавать права в таблице на уровне записей с помощью LBAC (Label-based access control). Спасибо, посоветую посмотреть. Журавлев Денисбез планов ничего хорошего сказать нельзя С планами туго: это не моя "епархия", а там сейчас бзик с безопасностью. Советую дистанционно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2008, 21:20 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
bk0010 Советую дистанционно.Лечу все болезни по фотографии. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2008, 21:29 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
Журавлев ДенисЛечу все болезни по фотографии. Примерно так. Особенно прикольно, что я не админ, а по Informix прочел всего одну книгу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2008, 21:25 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
А что, те у кого бзик с безопасностью что всем невменяемые? ИБ должна опираться на законодательную базу. Мне неизвестны законы, которые можно нарушить показав план запроса. Тем более, что при желании можно повторить дб-схему с другими именами объектов и показать планы запроса на нее. Но такого даже наша ИБ с ее паранойей не додумалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 19:04 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
[qout]Мне неизвестны законы, которые можно нарушить показав план запроса[/qout] Дело не в законах. Там позакрывали все устройства вывода (DVD только ROM, флешки и дискеты только регистренные и т.д.). Кроме того, для этого нужно чтобы наш человек, который этим занимается, пересекся с их человеком, а это сейчас тоже непросто. В принципе, если всех напрячь, то можно добиться результата, но пока это уже/еще не актуально. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 21:09 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
bk0010Были таблицы в которых данные были разбиты на группы, кроме того были таблицы, в которых задавалось соответствие пользователя (login, переменная user) и его групп. Прикладное ПО отображало пользователю только те данные, которые соответствовали доступным пользователю группам. Прошла команда на усиление безопасности БД: потребовали сделать так, чтобы подключившись с помощью отладочных средств (типа dbaccess) человек мог видеть только ту информацию, которая соответствует его логину. Поступили просто: информацию перенесли в новые таблицы, доступ к которым с нормальным login-oм закрыт и создали вьюхи по новым таблицам с отбором по пользователям и группам с именами старых таблиц. Прикладное ПО продолжало успешно работать пока было просто отображение информации. Расчеты замедлились очень сильно: те запросы, которые раньше стоили 6-7 стали стоить более 14000: основное время уходит на выполнение вьюшки, по которой делается запрос. Проблема в том, что на каждый плевый запрос выполняется select, возвращающий тысячи длинных записей из таблицы, где их около двухсот тысяч. Соответственно вопрос: можно ли другим способом (кроме View) организовать разграничение доступа по строкам (в Oracle вроде сделали нечто подобное). Можно ли разогнать вьюхи не изменяя ПО (существует ли в Informix материализация отображений или можно ли их проиндексировать)? До 10.00.xC5 в информиксе не было view folding, то есть каждый запрос с view создавал временную таблицу по этому view, которая потом участвовала в общем селекте - но, естественно, без никаких индексов. Если во view нет фильтра, а таблица большая - то даже очень избирательный селект сначала создавал практически копию таблицы. С 10.xC5 появился view folding который подставляет текст view в общий запрос и затем уже его оптимизирует. Ограничения : View folding does not occur for the following types of queries that perform a UNION ALL operation involving a view: The view has one of the following clauses: AGGREGATE, GROUP BY, ORDER BY, UNION, DISTINCT, or OUTER JOIN (either Informix or ANSI type). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 23:43 |
|
Можно ли ускорить работу с представлениями (View)?
|
|||
---|---|---|---|
#18+
ВыбегаллоДо 10.00.xC5 в информиксе не было view folding...Спасибо тебе, добрый человек! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2008, 14:00 |
|
|
start [/forum/search_topic.php?author=aliho&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
144ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 443ms |
total: | 724ms |
0 / 0 |