|
И снова сортировка...
|
|||
---|---|---|---|
#18+
Подскажите куда копать в вопросе быстродействия сортировки огромного массива до 1 млн.строк? Задача такова: требуется загруженный в память массив отсортировать по 1 столбцу. Стандартные методы сортировки проигрывают в десятки раз методу "сортировка на листе Excel". Может кто-то поделится своим вариантом? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 07:42 |
|
И снова сортировка...
|
|||
---|---|---|---|
#18+
Сортировка на листе работает с индексом строки, а не с самой строкой. Так что для ускорения сортировки строкового массива придётся создать индексный массив Long-ов и использовать именно его при сортировке. Как я понимаю, исходный массив полностью находится в памяти? тогда, вероятно, qsort. А по окончании сортировки использовать быстрое упорядочивание - и это может оказаться самым длительным этапом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 08:35 |
|
И снова сортировка...
|
|||
---|---|---|---|
#18+
Akina, докопался до sql запроса, но тут засада - рекордсет не может обработать более 65К строк (. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 09:55 |
|
И снова сортировка...
|
|||
---|---|---|---|
#18+
А массив-то откуда грузится? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:35 |
|
И снова сортировка...
|
|||
---|---|---|---|
#18+
Нашел! При написании запроса, обращение было осуществлено к именованному диапазону Excel как к источнику Базы Данных, вот тут и было ограничение в 65 К строк. Обратившись вместо имен.диапазона к листу Excel в качестве источника БД, с легкостью макрос обработал тестовую таблицу в 200 К строк. Спасибо за то, что не бросили в нужный момент. Всем хорошего настроения. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2017, 15:23 |
|
|
start [/forum/topic.php?fid=61&msg=39442057&tid=2172714]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 297ms |
total: | 434ms |
0 / 0 |