|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
нашел еще один вариант, который быстрее, чем connect by: Код: plsql 1. 2. 3. 4.
Только вот баг там у оракла: в distinct-values какой-то отчаянный баг и на множестве строк начинает выдавать одни и те же данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 18:42 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
xtenderначинает выдавать одни и те же данные. По описанию - вероятно, кэш какой-то. Быть может, можно отключить... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 18:48 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
andrey_anonymous, да, фиксится, не успел ответить - ваял тест-кейс красивый :) как почти все XML баги, фиксится с помощью NO_XML_QUERY_REWRITE тест кейс, показывающий, что на 1-2 строках нет бага Код: plsql 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.
результат Код: plsql 1. 2. 3. 4. 5. 6. 7.
пример фикса: Код: plsql 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 18:58 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
xtenderинтересно, есть ли вариант быстрее, чем PL/SQL функция? на моем тестовом наборе она оказалась быстрее: instr не побыстрее колекций будет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 09:06 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
Staxxtenderинтересно, есть ли вариант быстрее, чем PL/SQL функция? на моем тестовом наборе она оказалась быстрее: instr не побыстрее колекций будет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
так чуть быстрее Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 09:45 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
andreymxStaxпропущено... instr не побыстрее колекций будет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
так чуть быстрее Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
если есть/нет повторяющихся символов, то результаты меняются ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 10:04 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
andreymx, медленнее у тебя Stax, на первый взгляд достаточно быстро, но точных замеров не стал проводить пока, тк заметил, что и у тебя и у andreymx результаты не сортированные, т.е. результаты для 123 и 132 будет разными. Мне это кажется минусом решения ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 13:08 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
xtender, задача отсортировать не стояла, имхо сортировка возможно даже искажает результат мне просто было интересно сравнение древней instr (replace в случае andreymx ) с "навороченной " table of varchar2(100) index by varchar2(1); ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 13:18 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
Если уж начался спорт, то что же вы остановились на *символах* строки, и не обобщили до *последовательностей* ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 13:59 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
--Eugene--не обобщили до *последовательностей* ? Чойта не обобщили-то? 21952734 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 14:05 |
|
подсчет количества уникальных значений в строке
|
|||
---|---|---|---|
#18+
xtenderandreymx, медленнее у тебя от данных зависит Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 14:51 |
|
|
start [/forum/topic.php?fid=52&msg=39851422&tid=1882173]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 145ms |
0 / 0 |