Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сократить время записи или(???) sqlbulkcopy / 10 сообщений из 10, страница 1 из 1
11.07.2011, 18:02
    #37346638
Чиграборти
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Здравствуйте.
Есть файл txt в котором 9000 строк. Нужно было залить их на сервер MSSQL 2008 в интернет - это занимает 1-2,5 минуты (использую sqlbulkcopy). Но перед выполнением записи новых значений из файла в таблицу, я сначала удаляю все 9000 записей.
В результате, в промежуток записи sqlbulkcopy (1-2 минуты) таблица пустая и на сайте нет товаров :-)
Как можно избежать этого, может построчно вставлять, может все товары в кэш запихнуть (на 2-3 минуты)?

Спасибо.
...
Рейтинг: 0 / 0
11.07.2011, 18:45
    #37346711
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Чиграборти,

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

ну или например добавить поле актуальности записи в таблицу, дата/время, и не удалять старые данные, а только добавлять новые, а выборку делать с учетом актуальности
старое подчищать или не подчищать по мере надобности

да мало ли можно напридумывать
...
Рейтинг: 0 / 0
11.07.2011, 18:46
    #37346715
Чиграборти
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
так и предложил сначала, но их программист 1с, сказал, что так сложно и лучше все тягать постоянно.
...
Рейтинг: 0 / 0
11.07.2011, 21:06
    #37346859
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Чиграборти...это занимает 1-2,5 минуты...
Это занимает меньше секунды. Даже если миллион записей (строк, как Вы говорите). Выбросьте свою приблуду нафиг и займитесь делом.
...
Рейтинг: 0 / 0
11.07.2011, 22:22
    #37346930
Чиграборти
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
ShSergeЧиграборти...это занимает 1-2,5 минуты...
Это занимает меньше секунды. Даже если миллион записей (строк, как Вы говорите). Выбросьте свою приблуду нафиг и займитесь делом.
Может подскажете, почему секунда, даже если миллион?
...
Рейтинг: 0 / 0
11.07.2011, 23:09
    #37346964
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Кэп говорит что нужно загнать куда-нибудь заранее и потом сделать простое переключение на новую базу
...
Рейтинг: 0 / 0
12.07.2011, 07:32
    #37347173
Чиграборти
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
зы, мммммм, т.е. сделать еще одну базу, залить в неё, и сайт переключить на новую базу? По моему я не правильно понял ... Знающие люди, подскажите пожалуйста решение.
...
Рейтинг: 0 / 0
12.07.2011, 08:21
    #37347193
VAlexey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Загружать в другие таблицы (например, во временные #... или в обычные), а затем уже в транзакции обновлять реальные.
...
Рейтинг: 0 / 0
12.07.2011, 10:11
    #37347351
Чиграборти
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Ага ... Спасибо. Буду пробовать.
...
Рейтинг: 0 / 0
13.07.2011, 21:59
    #37350625
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сократить время записи или(???) sqlbulkcopy
Вопросы:
1. Почему нет ссылок из других таблиц на таблицу товаров, что можно так просто снести номенклатуру? Что за супер-система такая.
2. Все эти 9000 строк - полностью обновленные данные относительно основного справочника или там всё вперемешку?
3. Если вперемешку, то нужен честный MERGE , а не тупое удаление, которое, кстати, еще в логи гадит.

Ну и самое главное уже сказали, перед обновлением нужно загнать новую поставку в промежуточную таблицу и фоново выполнить мержевание в своём ETL.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сократить время записи или(???) sqlbulkcopy / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]