|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2013, 00:19 | #1 |
Форумчанин
Регистрация: 14.10.2011
Сообщений: 137
|
Ускорение работы цикла
Каким образом можно повысить работу данного скрипта?
Код:
Дело в том что скрипт работает медленно, на то чтоб он объединил миллион строк с мемо1,мемо2 в мемо3 уйдет очень много время. |
10.02.2013, 00:41 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
а в чем суть данного обьединения ?
создать INSERT - скрипт на миллион строк ? О_о
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
10.02.2013, 01:11 | #3 |
Форумчанин
Регистрация: 14.10.2011
Сообщений: 137
|
Суть в том что у меня есть 2 текстовика в которых простые слова.
В каждом документе по миллиону строк, в строке одно слово. Мы объединяем строки, первую строку из первого мемо объединяем с первой строкой второго мемо. Дальше добавляем операторы чтоб потом загнать в Базу Данных. Примерно получается так. Мемо1 Мемо2 Строка1 Строка11 Строка2 Строка22 Строка3 Строка33 Мемо3 INSERT INTO users (name, password) VALUES ('Строка1','Строка11'); INSERT INTO users (name, password) VALUES ('Строка2','Строка22'); INSERT INTO users (name, password) VALUES ('Строка3','Строка33'); Объединением строк занимается код с моего первого поста. Вот только проблема чтоб усовершенствовать код ибо очень долго объединяет таким образом. |
10.02.2013, 02:21 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Попробуйте:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
10.02.2013, 07:28 | #5 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
псевдокод
Код:
Не стесняемся, плюсуем!
|
10.02.2013, 09:17 | #6 | |
Форумчанин
Регистрация: 14.10.2011
Сообщений: 137
|
Благодарю Вас за ответы.
Цитата:
И чтоб не было дубликатов нужно всё привести к одному целому по которому можно будет найти дубликаты строк. Я решил именно таким способом. Потому что чтоб провести проверку на дубликаты понадобиться ещё дампнуть БД, в базе данных оно будет именно в таком варианте. |
|
10.02.2013, 11:40 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
возьмите вместо TMemo (который визуальный) невизуальный TStringList
думаю, что Вы будете удивлены приростом скорости! |
10.02.2013, 13:10 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
StringList будет быстрей без вариантов. Но можно и другим путем пойти. Вот, например, провайдер JET OLEDB поддерживает запросы из текстовых файлов с разделителями. И если ваша СУБД может обращаться к другим источникам данных, то создать один текстовый файл с уже сформированными строками и одной командой INSERT загнать все в базу. Удивлению не будет границ
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 10.02.2013 в 13:12. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ускорение программы С++ | rUs_LAN | Помощь студентам | 4 | 16.08.2012 13:57 |
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. | Necare | Помощь студентам | 0 | 15.11.2011 18:26 |
Как в C# прервать работу цикла при нажатии клавиши | xata1988 | Общие вопросы .NET | 5 | 14.02.2011 14:48 |
ускорение виндовс | voland123454321 | Windows | 22 | 04.09.2010 12:16 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |