Выполнение запроса на вставку Sql

Я думаю, что это должно работать:

$("textarea#ExampleMessage").val(result.exampleMessage);
6
задан Kamarey 29 July 2009 в 11:51
поделиться

4 ответа

Это полностью зависит от того, какую РСУБД вы используете.

В Oracle запись никогда не блокирует чтение, поэтому вы можете безопасно разместить свой данные все сразу. Однако обратите внимание, что это снизит производительность, поскольку параллельные запросы должны будут извлекать данные из табличного пространства UNDO , что потребует дополнительных операций чтения.

В SQL Server записи выполняются. блокирует чтение затронутых строк / страниц / таблиц (в зависимости от проблем с эскалацией блокировки), если вы не установите УРОВЕНЬ ИЗОЛЯЦИИ ТРАНЗАКЦИИ на SNAPSHOT .

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

В Oracle ,

6
ответ дан 9 December 2019 в 22:38
поделиться

Я писал об этом некоторое время назад - Думаю, пост отвечает на некоторые из ваших вопросов. Совет CK является разумным (как и Квассной - у него есть некоторые положительные моменты об Oracle), если вы беспокоитесь о том, что читатели блокируют писателей.

2
ответ дан 9 December 2019 в 22:38
поделиться

Общее правило состоит в том, что вы должны позволить базе данных выяснить, как выполнять эту работу. Это работает лучше, чем больше вы говорите ему делать в одном операторе, т.е. вы должны вставить 1000 записей за один раз. Это будет работать лучше всего для большинства серверов баз данных, и большинство серверов не блокируют чтение для записи.

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

Промежуточный метод заключался бы в отправке нескольких команд вставки, скажем, для 10 или 100 строк с фиксациями между ними в одном большом скрипте на сервер.

Добавлено: Большинство серверов баз данных не блокируют чтение, как в Oracle, IBM DB / 2 и MySQl с использованием таблиц InnoDB.

2
ответ дан 9 December 2019 в 22:38
поделиться

Установите уровень изоляции (параллелизма), который позволяет считывать старые данные во время транзакции - например, SQL Server 2005+ имеет READ SNAPSHOT.

1
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: