одновременная запись для вставки строк sqlserver - PullRequest
0 голосов
/ 08 марта 2011

Запуск MS SqlServer из ASP.NET У меня есть таблица посетителей без уникального ключа.

Всякий раз, когда пользователь загружает страницу, я выполняю вставку или обновление таблицы посетителей с помощью пользователя.IP и заголовок страницы в качестве ключа.

1 - я читаю таблицу, чтобы найти, существует ли запись для этого ключа, и в соответствии с нет или да, я делаю оператор вставки или обновления.

Поскольку ключ основан на IP-адресе пользователя, нет риска, что несколько пользователей попытаются обновить одну и ту же строку одновременно.

Теперь мой вопрос: насколько хорошо (или плохо)будет ли SQLServer вести себя , если, скажем, 50 человек попытаются одновременно обновить / вставить разные строки в одну и ту же таблицу?Будет ли поддерживаться 1000 одновременных записей?Подробнее?

Будет ли SQLServer аккуратно ставить все запросы в очередь и обрабатывать их один за другим (что мне подходит) или это войдет в какой-то кошмар блокировки страниц? Кроме того, я говорю, что нет уникального ключа, потому что я не хочу, чтобы сервер блокировал индекс во время операций записи.

1 Ответ

0 голосов
/ 08 марта 2011

Да, будет определенное количество очередей запросов, поскольку происходят живые блокировки, но вставки и обновления - это хлеб и масло.Я подозреваю, что только 50 пользователей, сталкивающихся друг с другом, будут очень редким явлением.Не зная деталей, трудно предсказать, какое поведение блокировки вы можете ожидать.Сколько вставок и сколько записей.

Я не думаю, что будет кошмар блокировки страницы, но могут быть бессонные ночи, когда вы понимаете, что IP-адрес, представленный серверу, не сопоставляет его содин с отдельными пользователями на разных компьютерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...