|
|
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Или как сделать чтобы VB6 работал быстрее? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 08:16 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Если база в сети, а клиент где-то, то может из-за трафика. Посмотри, ты же читаешь запись за записью по одной, она туда-сюда, туда-сюда за тридевять земель. Но это только догадка, т.к. ты не показал нам путь к базе. Или все-таки код разнится. База сидит там же, где и клиент? И если ты делаешь для всех записей какое-то вычисление, то лучше это выпонить через SQL запрос, минуя цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:16 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
База локальна и в ней ~30 000 записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:05 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Окрыть соединение с клиентским курсором, а рекордсет adOpenStatic. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:12 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:22 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Два замечания для оптимизации этого: 1. Никогда не объявляйте рекордсет как Dim rs As New ADODB.Recodset Всегда так: Dim rs as ADODB.Recordset Set rs = new ADODB.Recodset Обращение к свойствам и методам рекордсета объявленного как As New - на три порядка медленниее. Это очень заметно в циклах по записям-полям. 2. Если надо вернуть эти записи обратно в БД, то лучше в запросе все манипуляции и сделать. Или возрващать записи не через рекордсет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:50 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
И еще: Иногда бывает нужен сложный алгоритм по числу записей более 1000. Есть смысл "перегнать" все это в массив (Type) и уже с ним работать. Массив пользовательского типа данных работает примерно в 300-500 раз быстрее рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:53 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Я так и делаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:57 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Кстати, да. Я и не посмотрел Кому советы даю. Здесь два узких места: 1) Рекордсет, обращения к полям которого очччень медленные (относительно). Слишком много событий он генерит. 2) Процессное взаимодействие. Между БД и приложением VB будет столько межпроцессных вызовов сколько записей в рекордсете. Надо все записи одним вызовом послать туда. Тогда будет сравнимо по скорости с Аксесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:07 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Ну вот, опять одно по одному. Вы не то сравниваете. Access надо сравнивать например с FoxPro, даже с SQLями не годится его сравнивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:15 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
WorobjoffНадо все записи одним вызовом послать туда. Тогда будет сравнимо по скорости с Аксесс. Так как таблицу или запрос отправить, скажем, во многомерный массив, например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:33 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Люди дорые помогите! Не дайте отказаться от VB6 и перейти на Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:34 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Дотнет - панацея от всех бед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:42 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Что надо сделать над записями? Сколько записей надо обработать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:51 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Random_GoodmanДотнет - панацея от всех бед.Не во всяком дотнет. Блочная вставка таблиц появилась лишь в 2.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:56 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Есть Таблица1 - список деталей. ~30 000 записей Есть Таблица2 - список деталей которые надо удалить из Таблицы1 Удалить надо 20-30 кодов деталей из Таблицы1. Мой гениальный алгоритм: 1 . Читаю Таблица1 2. Ищу соответствующий код детали в Таблице2 3. Если нашёл, то запись из Таблицы1 отмечаю для удаления ( только отмечаю ) 4. Go to на метку 1 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:04 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
А почему нельзя выполнить запрос? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:07 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
или UPDATE Table1 SET IsDeleted = true WHERE ID in (SELECT ID FROM Table2 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:09 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Дело в том, что я должен анализировать! Сколько деталей я удалил из Таблицы 1 Сколько деталей я не нашёл в Таблице 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:16 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Было что-то подобное в моей работе. Оптимизировал так: - Рекордсет перегнал в массив Type. (ускорение анализа) - Возвращал результат в БД так: Код: plaintext Известно и то сколько запрошено на удаление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:26 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
А как перегнать RecordSet в массив? Примерчик бы! Благодарю за запросы (см. выше). Что называется навёл на мысль! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:34 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
klen_А как перегнать RecordSet в массив? Примерчик бы!Dim Conn1 As Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:50 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
Vorobjoff. Классно! Благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:56 |
|
||
|
Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
|
|||
|---|---|---|---|
|
#18+
klen_Дело в том, что я должен анализировать! Сколько деталей я удалил из Таблицы 1 Сколько деталей я не нашёл в Таблице 1 сколько деталей не нашел: select count(*) from Table2 t2 left outer join Table1 t1 on t2.id = t1.id where t1.id is null сколько удалишь: select count(*) from Table2 t2 inner join Table1 t1 on t2.id = t1.id ну и удаляешь этим же джоином это если таблицы в акцессе, а если на сиквеле, там процедурой вообще крысота будет тока в транзакцию это все удовольствие нужно поместить, а то сосчитаешь, а тут тебе записей навставляют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 14:10 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34160843&tid=2164880]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 513ms |

| 0 / 0 |
