|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Ilya Zvyagin 2:5020/400 18 Dec 2002 20:20:14 To : Gregory Kudinov Subject : Re: Права доступа на уровне записей -------------------------------------------------------------------------------- Hello, Gregory! You wrote to Ilya Zvyagin on Wed, 18 Dec 2002 15:10:02 +0000 (UTC): GK> А насколько сильно тормозит выборку, если в Where clause вставить GK> сравнение пользовательского имени: GK> CREATE VIEW ProjectsForManager GK> AS GK> SELECT * GK> FROM Projects GK> WHERE Projects.Manager = USER (предложено Сергеем Виноградовым) GK> Hаверно это зависит от реализация? GK> Hасколько я понимаю идентификатор пользователя что-то вроде GK> глобальной переменной. И если в view вставить сравнение с ним, то GK> для каждой строчки система будет лезть в эту глобальную переменную. GK> Это замедлит на сколько %? Hи то, ни другое нисколько ничего не тормозит. Как встроенные функции, так и глобальные переменные (кстати, они уже тоже функциями в доке по MS называются) являются (за некоторым исключением) просто константами, определенными в контексте DBProcess. Причем даже оптимизатор их значения просекает. GK> И сколько времени оценочно, для сравнения, занимает выборка 1000 GK> записей в 10 полей по сети. Т.е. если это будет 1 секунда без "WHERE GK> Projects.Manager = USER" GK> и 2 секунды "WHERE Projects.Manager = USER", то пользователи GK> перебьются, а если минута или 2 минуты, то уже можно начать думать. Сеть-то здесь при чем ? Если будет фильтрация, она будет на сервере. А так - время выполнения таких запросов порядка 500-1000 msec. -------------------- Ilya Zvyagin , First Container Terminal of SPb Sea Port E-mail: masterziv@*KILLSPAM*mail.ru - include HP in subject ICQ UID: 29427861(MasterZIV) --- ifmail v.2.15dev5 * Origin: FCT (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/13293a7ba2424.html, оценка из 5, голосов 10
|