Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Заполнение базы. [D6, MSSQL]


D-NICKNAME ©   (2002-12-21 00:25:00) 

Привет всем!
У меня такая проблема. Мне надо заполнить таблицу(MS-SQL 2000), которая состоит из 20-30 тыс. строк и имеет 8 столбцов. До этой задачи у меня не было необходимости заполнять таблицу таких размеров. В связи с чем не могу понять по какому пути двигаться, чтобы оптимизировать скорость заполнения талицы.
Сейчас пока я заполняю запросом в цикле:
ssql.Add(Format("insert into %s (dates, times, internal_number, co, " +
"external_number, duration, code, cd) " +
"values (""%s"", ""%s"", ""%s"", ""%s"", ""%s"", ""%s"", ""%s"",
""%s"");",[Main_General_Name, DataRings.date, DataRings.time,
DataRings.intnum, DataRings.co, DataRings.extnum, DataRings.duration, DataRings.code, DataRings.cd]));
ssql.Add(Format("select * from %s;", [Main_General_Name]));


ssql - это StringList, который я передаю в Query.

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

Заранее благодарю.


D-NICKNAME   (2002-12-21 19:07:00) [1]

Спасибо!


asmith   (2002-12-21 17:11:00) [2]

Источник самой точной и подробной инфы по MSSQL - Books OnLine (BOL), который инсталлируется вместе с продуктом. Много материалов можно найти на сайте Russian SQL Server Magazine ( http://www.osp.ru/win2000/sql/) ну и на сайте http://www.sql.ru). Ищи по ключевым словам BCP и DTS.


D-NICKNAME   (2002-12-21 16:48:00) [3]

2 asmith
Подскажи где инфу по этому делу найти, а то я с этим ещё не сталкивался.


asmith   (2002-12-21 16:24:00) [4]

MSSQL, данные из файлов - однозначно BULK COPY, это обеспечивает максимальную производительность. Если нужны некие трансформации данных на лету - Data Transformation Services


D-NICKNAME   (2002-12-21 12:50:00) [5]

Вообще данные для заполнения берутся из файлов и до заполнения обрабатываются определённым образом. Но, я пробывал и просто заносить 20тыс. строк с одними и теми же данными, т.е. не привлекать загрузку из файлов и обработку. Всё равно уж слишком уж долго. Может так и должно быть?


Johnmen   (2002-12-21 00:33:00) [6]

Смотря откуда берутся данные для заполнения...


Наверх

Титульная страница Поиск, карта сайта Написать письмо