Вставка и просмотр данных одновременно из одной таблицы

Я хочу, чтобы пользователь вставлял данные в таблицу и одновременно просматривал их.

Для этого, если я буду использовать одну таблицу, потребуется ли больше времени и нагрузки на процесс, потому что 2 процесса: INSERT и SELECT, оба будут происходить в одной таблице?

Поэтому я хочу, чтобы оба процесса выполнялись отдельно для двух разных объектов базы данных.

Как INSERT должен быть сделан на одном объекте базы данных, так и SELECT должен быть сделан от другого, но данные, которые во вставке, будут видны с помощью запроса Select.

Какое решение для этого? Должен ли я использовать временную таблицу, представление или две отдельные таблицы, но если я использую две отдельные таблицы, то будет репликация данных.

так что мне делать? пожалуйста помоги.

Мое приложение Winform будет работать на 3 ПК в локальной сети, а SQL Server - только на одном ПК.

В этом случае каждую минуту все 3 пользователя будут вставлять данные. Таким образом, я бы немедленно отобразил данные пользователю на pc1, если данные обновляются другим пользователем на pc2

1 ответ

Решение

Вы на самом деле пытались просто читать и писать на одном столе? СУБД предназначены для параллелизма. У нас миллионы строк, записанных в минуту, и десятки сложных агрегатов в одних и тех же данных за одну минуту. Мы не заметили никаких проблем.

Данные должны передаваться из tablewrite в tableread: это означает чтение таблицы в какой-то момент. Теперь вы можете поддерживать это в триггере (или некоторых других средствах), что означает дополнительную обработку для каждой записи.

Примечание: вы можете использовать предложение OUTPUT для чтения только что вставленных данных.

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

Другие вопросы по тегам