100% загруженности SQL сервера 2000 | |
---|---|
ViSha® Автор Сообщений: 58 Откуда: Днепропетровск Дата регистрации: 26.09.2003 |
Доступ к серверу организован через удаленные представления
тип буферизации - 3
проблема - при записи из временных таблиц во вьюшку группы записей(порядка 2000), загрузка сервера -100% как только операция заканчивается- загрузка на уровне 20% (норма) а если в это же время у другого пользователя запущена похожая программа, то вообще труба |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Владимир Максимов Сообщений: 14095 Откуда: Москва Дата регистрации: 02.09.2000 |
При строковой буферизации сброс буфера происходит:
-) При переходе на другую запись -) При закрытии таблицы -) При переключении в режим табличной буферизации -) По команде TableUpdate() При табличной буферизации сброс буфера происходит -) Только по команде TableUpdate() и никак иначе Добавление записей сопровождается автоматическим переходом на новую запись, как следствие - сброс буфера. Отсюда и загрузка. Т.е. при добавлении 2000 записей произойдет сброс буфера у 1999 записей (кроме последней) ------------------ |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
v09 Сообщений: 85 Дата регистрации: 06.10.2003 |
Есть необходимость сброса какого количества изменений за один раз? М.б. растянуть во времени?. Я так понял инфа копится\корректируется во временных таблицах а потом разом скидывается во вьюшку?
|
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, ViSha®!
В дополнение к Владимиру: Также попробуй менять "BatchUpdateCount" для представления (в сторону увеличения), использовать ручные транзакции (давать только 1 SQLCOMMIT() по завершении всех операций), попробовать Prepared = .T. (для MS SQL правда говорят что-то она плохо работает, а на Oracle почти в 2 раза быстрее вставка идёт - ну да правда я не через View это делал а прямыми SQLEXEC() командами, через параметризованную SQL команду). ------------------ WBR, Igor |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
ViSha® Автор Сообщений: 58 Откуда: Днепропетровск Дата регистрации: 26.09.2003 |
через SQLEXEC как раз все без проблем !
проблемы только со вьюхой... буду переделывать логику ! спасибо за ответы |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
WiRuc Сообщений: 1012 Дата регистрации: 09.04.2002 |
IMHO, все эти RemoteView и CursorAdapter от лукавого и must die.
Вся работа должна вестись через ХП. |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
Ты не прав.
Просто НЕ ВЕЗДЕ и НЕ ВСЕГДА их надо втыкать. |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, WiRuc!
Ты считаешь что проще запихать кучу записей в базу именно через ХП? А если СУБД не умеет XML парсить (или медленно/криво это делает), как ты туда целый массив загонишь? ------------------ WBR, Igor |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Syberex Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
Небольшой вопрос, но думаю что по теме и автор не обидится...
Если использовать SQLEXEC() то код надо писать на языке SQL Фокса или SQL сервера? Например такое прокатит: INSERT INTO dbf_name FROM ARRAY ArrayName если в ArrayName находится 2000 записей ------------------ |
Re: 100% загруженности SQL сервера 2000 | |
---|---|
Перминов Игорь Сообщений: 1591 Откуда: Красная Орловка Дата регистрации: 16.09.2001 |
К сожалению приведенная команда:
, никакого отношения к T-SQL или классическому SQL не имеет, и естесно SQLEXEC() с данной командой не выполнится. Данная команда, как раз для VIEW или таблицы. ------------------ Без коментариев.. |
© 2000-2024 Fox Club  |