|
Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.
|
|||
---|---|---|---|
#18+
В чем суть, после выполнения двух запросов имеем два Recordset, RS и RS2 по 10 000 строк каждый. В первой колонке храниться код позиции, во второй присвоенный класс АВС. Необходимо подсчитать сколько позиций сменили класс АВС и в какую сторону. Например: Код: vbnet 1. 2. 3.
Собрал две конструкции. 1. Отрабатывает за 9 минут. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
2. Время отработки неизвестно. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Каким способом ускорить выполнение данной задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:09 |
|
Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.
|
|||
---|---|---|---|
#18+
Кажется нашел решение: 5 сек Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:30 |
|
Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.
|
|||
---|---|---|---|
#18+
MnhamКаким способом ускорить выполнение данной задачи? Создать третий запрос, который НА СЕРВЕРЕ обработает данные и сразу вернёт требуемое. Ну типа Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:30 |
|
Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.
|
|||
---|---|---|---|
#18+
Хотя, располагая исходными текстами запросов, лучше написать нормальный текст третьего запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:31 |
|
Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.
|
|||
---|---|---|---|
#18+
Akina, интересно База данных - таблица .xlsx Два запроса идентичны, разница в датах. Пришлось так извратиться, дата записана в текстовом формате. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Далее идет алгоритм присвоения класса АВС Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Если это как то можно обрулить одним запросом, буду признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:52 |
|
|
start [/forum/topic.php?fid=60&msg=39198628&tid=2155592]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 468ms |
0 / 0 |