|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
Делаю поиск сиком в рекордсете. Проблема в поиске всех записей, удовлетворяющих условию. Не получается. Находит только первую из множества возможных в бесконечном цикле. Подскажите, что я делаю не так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 02:05 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
Так Сик только первую запись находит. Пользуйтесь FindFirst-FindNext ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 05:46 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
MrShinТак Сик только первую запись находит. Пользуйтесь FindFirst-FindNextДык рад бы. Но таблица уж больно огромная. Запрос сложностью N*N может идти несколько суток. Сик спас бы. Но вот незадача... Впрочем, все равно спасибо. Ваш ответ натолкнул на мысль о временной таблице с правильной сортировкой, где сик точно поможет. Наверное (???) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 10:38 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
quot DAO Seek, если нужно получить все записи для конкретного значения, то, может, лучше применить фильтр (это лучше делать в ADODB.Recordset-е) или открыть Recordset с отбором по конкретному значению и с минимальным количеством необходимых полей. Отбор по индексированному полю выполняется быстро. Если значений несколько, то эти действия выполнять в цикле для каждого значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 12:04 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
DAO Seekв бесконечном цикле не вижу, где вы выходите из цикла, если запись не найдена ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 12:58 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
DAO Seek, а зачем вообще Seek? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 13:24 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )если нужно получить все записи для конкретного значения, то, может, лучше применить фильтр Замучаюсь открывать. Таблица порядка 10 миллионов записей. Для каждой записи надо найти совмещение по интервалам (ValueStart, ValueFinis) с другими записями. Простой запрос типа считает невыразимо долго, дождаться завершения так и не удалось. Код: sql 1. 2. 3. 4.
Использовать Find, FindFirst, FindNext тоже очень долго Поля конечно индексированные. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 16:39 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
Код: vbnet 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.
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 17:42 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
DAO Seek, проверил на 2000000 записей(простенькая таблица из 3 полей)отрабатывает секунд за 35-40 (точно не измерял) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 21:29 |
|
Поиск в рекордсете по Seek от DAO
|
|||
---|---|---|---|
#18+
DAO SeekАнатолий ( Киев )если нужно получить все записи для конкретного значения, то, может, лучше применить фильтр Замучаюсь открывать. Таблица порядка 10 миллионов записей. Для каждой записи надо найти совмещение по интервалам (ValueStart, ValueFinis) с другими записями. Простой запрос типа считает невыразимо долго, дождаться завершения так и не удалось. Код: sql 1. 2. 3. 4.
Использовать Find, FindFirst, FindNext тоже очень долго Поля конечно индексированные. Такие вещи, наверное, лучше делать на языке Си. Загружать таблицу в структуру и уже дальше работать средствами Си или С++ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 23:40 |
|
|
start [/forum/topic.php?fid=45&msg=39515645&tid=1612116]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 151ms |
0 / 0 |