|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть файл txt в котором 9000 строк. Нужно было залить их на сервер MSSQL 2008 в интернет - это занимает 1-2,5 минуты (использую sqlbulkcopy). Но перед выполнением записи новых значений из файла в таблицу, я сначала удаляю все 9000 записей. В результате, в промежуток записи sqlbulkcopy (1-2 минуты) таблица пустая и на сайте нет товаров :-) Как можно избежать этого, может построчно вставлять, может все товары в кэш запихнуть (на 2-3 минуты)? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 18:02 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Чиграборти, так хозяин барин по идее если это справочник, то он уже должен быть в кэше у вас а кэш обновляться только после загрузки нового ну или например добавить поле актуальности записи в таблицу, дата/время, и не удалять старые данные, а только добавлять новые, а выборку делать с учетом актуальности старое подчищать или не подчищать по мере надобности да мало ли можно напридумывать ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 18:45 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
так и предложил сначала, но их программист 1с, сказал, что так сложно и лучше все тягать постоянно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 18:46 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Чиграборти...это занимает 1-2,5 минуты... Это занимает меньше секунды. Даже если миллион записей (строк, как Вы говорите). Выбросьте свою приблуду нафиг и займитесь делом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 21:06 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
ShSergeЧиграборти...это занимает 1-2,5 минуты... Это занимает меньше секунды. Даже если миллион записей (строк, как Вы говорите). Выбросьте свою приблуду нафиг и займитесь делом. Может подскажете, почему секунда, даже если миллион? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 22:22 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Кэп говорит что нужно загнать куда-нибудь заранее и потом сделать простое переключение на новую базу ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2011, 23:09 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
зы, мммммм, т.е. сделать еще одну базу, залить в неё, и сайт переключить на новую базу? По моему я не правильно понял ... Знающие люди, подскажите пожалуйста решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2011, 07:32 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Загружать в другие таблицы (например, во временные #... или в обычные), а затем уже в транзакции обновлять реальные. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2011, 08:21 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Ага ... Спасибо. Буду пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2011, 10:11 |
|
Сократить время записи или(???) sqlbulkcopy
|
|||
---|---|---|---|
#18+
Вопросы: 1. Почему нет ссылок из других таблиц на таблицу товаров, что можно так просто снести номенклатуру? Что за супер-система такая. 2. Все эти 9000 строк - полностью обновленные данные относительно основного справочника или там всё вперемешку? 3. Если вперемешку, то нужен честный MERGE , а не тупое удаление, которое, кстати, еще в логи гадит. Ну и самое главное уже сказали, перед обновлением нужно загнать новую поставку в промежуточную таблицу и фоново выполнить мержевание в своём ETL. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2011, 21:59 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1350692]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
8ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 462ms |
0 / 0 |