powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сравнение vb и др. прог
21 сообщений из 21, страница 1 из 1
Сравнение vb и др. прог
    #32223888
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
У меня такой вопрос:
Есть аксессовская бд с 9 тыс. записями. Я ее в vb конвертирую в текстовый файл определенного формата. Vb работает около часа. Это много. На чем мне можно переписать прогу, чтобы все происходило быстрее? Дельфи? Ява?
Какие будут предложения?
Спасибо.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223915
Г@Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
считают, что самые быстрые программы написаны на ассемблере
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223922
Фотография Валенок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за формат такой?
Ты посмотри код может где оптимизирвать можно
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223942
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Г@Д, прикольно :)
Валенок, в том все и дело - куда дальше оптимизировать, не знаю. Поэтому и задумалась о перемене платформы. Формат - txt для импорта в corel ventura. Вооооот. Советуйте
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223946
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте через xml - Он создается быстрее да и парсер нарисовать не сложно созраните курсор в xml и вперед.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223951
Фотография Валенок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может ты слишком много манипуляций с рекордсетом делаешь?
выборку можно (если она большая) в массив бросить rs.getrows и с ним уже работать
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223977
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну-да можно использовать курсоры-брандспойты
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32223979
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
biq_duke, за совет спасби. Никогда не работала с xml. Надо почитать...
Валенок, именно так я и делаю выборку->в rs, а ним манипуляции.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224079
Г@Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может тем же Jet'ом конвертнуть выборку в текстовый файл (через isam) ?
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224103
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO дело не в платформе...
простите за нескромность но чем Вам DTS не угодил ???
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224111
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4Артем Дык может человек не хочет тащить DTS Dll'ки или не знает :)
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224166
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни за что не поверю, что конвертация занимает "около часа". Это что за текстовый формат такой? Или что-то недоговаривается? Может конвертация идет, когда с базой десяток пользователей работает? Короче, дело здесь не чисто и смена "платформы" - ни при чем.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224391
Фотография progist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если ассесс установлен, можно вызвать его метод DoCmd.TransferText
если нет то методы ADO.Recordset Save adPersistADTG (текст со спец. форматом или adPersistXML)
Все методы выполняются в секунды и менее
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32224971
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke, человек действительно "не хочет тащить dllки или не знает". Я не знаю. Просто открываю vb и пишу руками: создай rs, проверь rs, занеси rs в txt. И все! Прога довольно простая. Поэтому меня очень удивляет этот самый час, в течение кот. она работает.
ulis, с базой никто не работает. Формат txt:
"слово0 = " rs.field(0)
"слово1 = " rs.field(1)
...
Поля предварительно обрабатываются.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32225454
Фекла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так может код покажешь?
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32225486
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, поддерживаю желание предыдущего оратора взглянуть на код ...
код в студию!
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32226292
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фекла, 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

И все.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32226841
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй для начала выяснить, где тормоза - либо в функции преобразования, либо в цикле набора, ну, примерно так:
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
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32226934
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DTS не dll-ки, а одна dll ~2Mb
если прога на vb, то тащить много че еще придется, так стооит ли заморачиватьтся из-за еще одной???
и по-моему DTS-ом будет быстрее всего
а с другой стороны, если правильно понимаю, это одноразовая операция, почему бы не подождать час, если ускорить такая большая проблема
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32228117
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как девушке не помочь? :))

Вышли мне, плиз, на мыло полный текст проги и базу данных (но только не все 9000 записей, 100 будет более, чем достаточно).

Я попробую переформировать запрос, а потом сделать Recordset.Save. Все должно выполниться за секунды.
...
Рейтинг: 0 / 0
Сравнение vb и др. прог
    #32232399
Наталья2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо.
Ulis, твой совет особо ценен!
vdimas, Cпасибо за предложение помощи и подсказку (recordset.save), но в переформировании вопроса нет необходимости, тк он очень прост: select f1, f2.. from t1;
Мне посоветовали более простой выход - разбить исходную большую табличку на несколько маленьких. Результат - 4 таблички по 2000 зп обрабатываются в целом за ~8 мин. (в отличие от 1 таблицы с 8000 зп, которая обраб-ся в течение часа!)
Вооот.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сравнение vb и др. прог
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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