|
|
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Victosha Это уже кое-что! Так понял, если буду пользовать InStrB, то и длины должен буду считать через LenB? W = LenB(G) Y = N + LenB(rsx("Name")) Раньше InStrB не использовал ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:46 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Alexus112 Ты еще жив? Это что за зверь? Do While Y < W что тут пытается происходить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:48 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
Народ, протестите плиз запросы мои на 1-ой странице... А то уже домой бежать надо, хочется результат узнать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:50 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 zz Спасибо, попробую в понедельник. Но что-то сомнения у меня насчет увеличения скорости ... Мне ж еще все координаты найденных надо в массив A8() затолкнуть ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:52 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Алекс: опять же: а зачем эти координаты тебе в массиве? Какова конечная цель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:53 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Victosha Это проверка просмотрена ли вся строка G: Y - это позиция в G с которой смотрим W - это длина G Т.е. есть при невыполнении это условия строку просмотрели и выходим из цикла. Я тоже пошел. Всем до понедельника! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:56 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 zz Нужны они мне :) как шпиону секретная информация: Массив A8() использую далее в аналогичном цикле по той же строке G, но ищется в ней другой набор вхождений. А потом сравниваются найденные координаты, с координатами из A8(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 18:00 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Alexus112 вот попробуй для начала, и скажи быстрее или нет исходного варианта Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 18:26 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
что - то автора не видно - спит, наверно. корявенько у мене получилось сходу, циклик лучшее так переписать: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2004, 03:20 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
в предыдущем посте опять опШиПка - в N = InStrB(Y, G, rsx("Name")) вместо rsx("Name") д.б. sName (((ж Если ОЧЕНЬ хочется позаморачиваться с масивами, то вариант0 мог бы выглядеть приблизительно так (реальное быстродействие зависит в первую очередь от типа рекордсета. Собственно обработку массива можно поулучшать, но сейчас не могу вывалить реально хорошего варианта под акцесс) : Код: 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. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2004, 03:52 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Alex: Опять же, почему это нельзя сделать запросом? А насчет "сравнить" - так это однозначно лучше запросом делать, чем циклом по массиву! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 10:23 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 zz не знаю почему, но как-то неочевидны для меня Ваши утверждения про однозначность. Мы с Вами, сударь, в этом месте составляем бабушку на двоих. Вот пусть Alex112 и проверит -)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 10:49 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 Victosha: Не, может, я ошибаюсь, конечно, черт его знает... Привык просто уходить везде, где можно, от циклов по рекордсетам. Не нравятся они мне. Вызывают, тасказать, унутреннее отторжение :)) Не спорю, возможно, в данном случае действительно лучше циклом. Но почему бы не предложить альтернативный вариант? (а заодно и свои силы проверить - получится или нет). Кстати, задача Алекса имеет еще одно решение, не зависящие от кол-ва вхождений поля Name в строку G, как мой первый вариант. 1. Строка G разбивается через Mid на все возможные куски и пишутся эти куски в таблицу с указанием начала/конца вхождения. Время в случае Len(G)=220 3 сек. 2. INNER JOIN нашего рекордсета с полученной таблицей по текстовому полю даст нужный итог. Время в случае Count(*)=10000 ок. 1 секунды. Итого 4 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 10:58 |
|
||
|
Что быстрее: перебор строк рекордсета или элементов массива?
|
|||
|---|---|---|---|
|
#18+
2 zz OK красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32519331&tid=1674595]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 466ms |

| 0 / 0 |
