Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.06.2007, 16:13
|
|||
|---|---|---|---|
|
|||
IF NOT EXISTS и ISOLATION READ UNCOMMITTED |
|||
|
#18+
Что оптимальнее использовать при написании запроса 1. IF NOT EXISTS( select * from where ..... ) BEGIN ... END или 2. select @VAR = 0 select @VAR = ... from table where ..... AT ISOLATION READ UNCOMMITTED IF VAR = 0 BEGIN .... END Блокируются ли в первом случае строки таблицы? Заранее спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2007, 18:49
|
|||
|---|---|---|---|
IF NOT EXISTS и ISOLATION READ UNCOMMITTED |
|||
|
#18+
akula84 пишет: > Что оптимальнее использовать при написании запроса > IF NOT EXISTS( > select * from where ..... > ) или > select @VAR = 0 > select @VAR = ... > from table > where ..... > AT ISOLATION READ UNCOMMITTED Если убрать во втором случае AT ISOLATION READ UNCOMMITTED (или поставить в первом), то будет одно и то же. NOT EXISTS - короче, неправда ли ? А с и без AT ISOLATION READ UNCOMMITTED - это немного разные вещи. Совет: не используйте READ UNCOMMITTED в ASE. > Блокируются ли в первом случае строки таблицы? Так они и во втором блокируются. Только такой блокировкой, которая совместима с XLOCK. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2007, 13:19
|
|||
|---|---|---|---|
IF NOT EXISTS и ISOLATION READ UNCOMMITTED |
|||
|
#18+
akula84Что оптимальнее использовать при написании запроса 1. IF NOT EXISTS( select * from where ..... ) BEGIN ... END или 2. select @VAR = 0 select @VAR = ... from table where ..... AT ISOLATION READ UNCOMMITTED IF VAR = 0 BEGIN .... END Блокируются ли в первом случае строки таблицы? Заранее спасибо за помощь 1. Это разные запросы и будучи запущены одновременно могут выдать разные результаты. см. уровни изоляции. 2. Блокировка чтения накладывается в обоих случаях. Отлиичие только в том, что во втором случае она наложиться при наличии экслюзивной блокировки, а в первом будет ждать окончания транзакции наловшей эксклюзиную. 3. Если выборка возвращает более одной записи, то второй запрос обратится к большему количеству данных, а соответсвенно будет работать медленнеее. Начиная с версии 12.5.4 эта "ошибка" исправлена, и производительности равны. В более младших версиях эту "ошибку" можно решить поставив перед вторым запросом set rowcount 1, а после него set rowcount 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2007, 13:26
|
|||
|---|---|---|---|
IF NOT EXISTS и ISOLATION READ UNCOMMITTED |
|||
|
#18+
MasterZiv Если убрать во втором случае AT ISOLATION READ UNCOMMITTED (или поставить в первом), то будет одно и то же. NOT EXISTS - короче, неправда ли ? Код: plaintext ASE 12.5.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=55&tablet=1&tid=2012060]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 327ms |

| 0 / 0 |
