|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Здравствуйте. У меня такой вопрос: Есть аксессовская бд с 9 тыс. записями. Я ее в vb конвертирую в текстовый файл определенного формата. Vb работает около часа. Это много. На чем мне можно переписать прогу, чтобы все происходило быстрее? Дельфи? Ява? Какие будут предложения? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 14:53 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
считают, что самые быстрые программы написаны на ассемблере ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:07 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
А что за формат такой? Ты посмотри код может где оптимизирвать можно ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:09 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Г@Д, прикольно :) Валенок, в том все и дело - куда дальше оптимизировать, не знаю. Поэтому и задумалась о перемене платформы. Формат - txt для импорта в corel ventura. Вооооот. Советуйте ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:17 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Попробуйте через xml - Он создается быстрее да и парсер нарисовать не сложно созраните курсор в xml и вперед. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:18 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Может ты слишком много манипуляций с рекордсетом делаешь? выборку можно (если она большая) в массив бросить rs.getrows и с ним уже работать ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:20 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Ну-да можно использовать курсоры-брандспойты ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:33 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
biq_duke, за совет спасби. Никогда не работала с xml. Надо почитать... Валенок, именно так я и делаю выборку->в rs, а ним манипуляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 15:34 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
может тем же Jet'ом конвертнуть выборку в текстовый файл (через isam) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 16:12 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
IMHO дело не в платформе... простите за нескромность но чем Вам DTS не угодил ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 16:25 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
4Артем Дык может человек не хочет тащить DTS Dll'ки или не знает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 16:30 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Ни за что не поверю, что конвертация занимает "около часа". Это что за текстовый формат такой? Или что-то недоговаривается? Может конвертация идет, когда с базой десяток пользователей работает? Короче, дело здесь не чисто и смена "платформы" - ни при чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 17:03 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
если ассесс установлен, можно вызвать его метод DoCmd.TransferText если нет то методы ADO.Recordset Save adPersistADTG (текст со спец. форматом или adPersistXML) Все методы выполняются в секунды и менее ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 19:38 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
big-duke, человек действительно "не хочет тащить dllки или не знает". Я не знаю. Просто открываю vb и пишу руками: создай rs, проверь rs, занеси rs в txt. И все! Прога довольно простая. Поэтому меня очень удивляет этот самый час, в течение кот. она работает. ulis, с базой никто не работает. Формат txt: "слово0 = " rs.field(0) "слово1 = " rs.field(1) ... Поля предварительно обрабатываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2003, 13:17 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Ну так может код покажешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2003, 18:57 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Да, поддерживаю желание предыдущего оратора взглянуть на код ... код в студию! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2003, 20:29 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Фекла, ulis: Private Sub default_convert() var1 = rs_default.Fields(0) var2 = RTrim(rs_default.Fields(2)) ....... If rs_default.Fields(8) = Null Or rs_default.Fields(8) = 0 Then var3 = "-" Else ....... End If Select Case rs_default.Fields(11) Case 0 var4 = " " Case 1 .... End Select var5 = rs_default.Fields(17) var5 = Replace(contact, "выаи", "") .......... var5 = Replace(contact, "sryndfhn", "") .... .... .... End Sub Do Until rs_default.EOF Call default_convert TXT1 = TXT1 & "@Subheading =" & var1 & "<N><N><N>фыапя" & vbCrLf TXT1 = TXT1 & "@c01 = " & var2 & vbCrLf TXT1 = TXT1 & "@c02 = " & var3 & vbCrLf .......... TXT1 = TXT1 & "@cN = " & varN & vbCrLf rs_default.MoveNext Loop И все. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2003, 13:11 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Попробуй для начала выяснить, где тормоза - либо в функции преобразования, либо в цикле набора, ну, примерно так: DateDiff("s", tm1, tm2) Do Until rs_default.EOF tm1 = Time Call default_convert tm2 = Time Debug.Print "Время преобразования = " & DateDiff("s", tm1, tm2) tm3 = Time TXT1 = TXT1 & "@Subheading =" & var1 & "<N><N><N>фыапя" & vbCrLf TXT1 = TXT1 & "@c01 = " & var2 & vbCrLf TXT1 = TXT1 & "@c02 = " & var3 & vbCrLf .......... TXT1 = TXT1 & "@cN = " & varN & vbCrLf rs_default.MoveNext tm4 = Time Debug.Print "Время одного прохода = " & DateDiff("s", tm3, tm4) Loop где tm1 - tm4 переменные типа Date ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2003, 19:19 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
DTS не dll-ки, а одна dll ~2Mb если прога на vb, то тащить много че еще придется, так стооит ли заморачиватьтся из-за еще одной??? и по-моему DTS-ом будет быстрее всего а с другой стороны, если правильно понимаю, это одноразовая операция, почему бы не подождать час, если ускорить такая большая проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2003, 22:55 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Ну как девушке не помочь? :)) Вышли мне, плиз, на мыло полный текст проги и базу данных (но только не все 9000 записей, 100 будет более, чем достаточно). Я попробую переформировать запрос, а потом сделать Recordset.Save. Все должно выполниться за секунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2003, 06:11 |
|
Сравнение vb и др. прог
|
|||
---|---|---|---|
#18+
Всем большое спасибо. Ulis, твой совет особо ценен! vdimas, Cпасибо за предложение помощи и подсказку (recordset.save), но в переформировании вопроса нет необходимости, тк он очень прост: select f1, f2.. from t1; Мне посоветовали более простой выход - разбить исходную большую табличку на несколько маленьких. Результат - 4 таблички по 2000 зп обрабатываются в целом за ~8 мин. (в отличие от 1 таблицы с 8000 зп, которая обраб-ся в течение часа!) Вооот. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 07:30 |
|
|
start [/forum/topic.php?fid=60&msg=32228117&tid=2170925]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 398ms |
0 / 0 |