|
|
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
hi all Создаю user-defined коллейт для сортировки строк с цифирками "как чисел". Создаю затем домен на основе этого коллейта и таблицу. В таблицу пишу строки-числа, но добавляю лидирующие пробелы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Теперь делаю две выборки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Я правильно понимаю, что атрибут 'NUMERIC-SORT=1' недостаточен для сортировки строк как чисел, если в них есть лидирующие пробелы, и надо добавлять trim() ? (проверял на 2.5 и 3.0 - результат одинаковый, как показан выше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 21:26:07 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
Таблоид, Сталкивался, trim() надо делать. Лучше всего - ещё на входе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 08:50:04 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
Если тебе ОЧЕНЬ нужно иметь пробелы перед цифрами, можеш их держать в отделном поле и склеивать Код: sql 1. или вообще, записывать как integer, в отдельном поле количество пробелов тоже как интегер. На выходе или на клиенте конвертировать в текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 08:54:00 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
Таблоид, просто интересно стало что с явным преобразованием, вот что получилось Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 0ms Execute time = 0ms Avg fetch time = 0.00 ms Current memory = 3 285 328 Max memory = 4 393 160 Memory buffers = 256 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 26 Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 0ms Execute time = 0ms Avg fetch time = 0.00 ms Current memory = 3 285 072 Max memory = 4 393 160 Memory buffers = 256 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 26 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 09:07:50 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
на 100 000 записей Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 0ms Execute time = 27s 363ms Avg fetch time = 1 140.13 ms Current memory = 13 015 312 Max memory = 16 957 204 Memory buffers = 256 Reads from disk to cache = 13 202 Writes from cache to disk = 12 643 Fetches from cache = 1 105 588 Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 15ms Execute time = 37s 144ms Avg fetch time = 1 547.67 ms Current memory = 16 106 780 Max memory = 16 957 204 Memory buffers = 256 Reads from disk to cache = 15 978 Writes from cache to disk = 15 083 Fetches from cache = 1 105 202 к чему это всё, я сам не знаю, просто времени свободного много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 09:34:53 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
хм... поставлю пробелы впереди пожалуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 09:52:46 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
поставил Код: sql 1. 2. 3. итоги Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 0ms Execute time = 764ms Avg fetch time = 31.83 ms Current memory = 16 839 944 Max memory = 16 973 048 Memory buffers = 256 Reads from disk to cache = 1 261 Writes from cache to disk = 992 Fetches from cache = 861 722 Код: sql 1. План PLAN SORT ((TTT NATURAL)) ------ Performance info ------ Prepare time = 0ms Execute time = 842ms Avg fetch time = 35.08 ms Current memory = 14 757 680 Max memory = 17 211 112 Memory buffers = 256 Reads from disk to cache = 2 968 Writes from cache to disk = 1 897 Fetches from cache = 882 930 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 10:00:28 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
удивило время выполнения с пробелами и без пробелов. после генерации сделал холостой апдейт Код: sql 1. 2. 3. время стало одного порядка. поясните, господа знатоки, в чём дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 10:09:29 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
roadsterпоясните, господа знатоки, в чём дело.В апдейтах и сборке мусора селектами после них. См. на наличие и кол-во writes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 11:00:07 |
|
||
|
Сортировка поля, созданного по NUMERIC-SORT=1, при наличии лидир. пробелов в данных
|
|||
|---|---|---|---|
|
#18+
hvladВ апдейтах и сборке мусора селектами после них. См. на наличие и кол-во writesспасибо, я про сборку мусора и подумал, но решил уточнить на всякий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 11:02:04 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38639446&tid=1563607]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 335ms |

| 0 / 0 |
