| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Вопрос по сортировки |
| Автор: MaxB 20.5.2008, 16:06 | ||
| Привет всем! Есть ли возможность заставить оператор
Если нет. То как это оптимальнее реализовать. Заранее благодарен. |
| Автор: bars80080 20.5.2008, 18:12 |
| по-моему, такие спец порядки только на программном языке, с которого запрос идёт, имхо |
| Автор: Magnifico 20.5.2008, 19:13 | ||||
Прикладная задача у тебя есть строковое поле с Первыми буквами англиского, Русского и цифры
и конечно делаешь из этого фукцию с полным алфавитом и соответсвием цифр и применяешь в order by фунМояСортировка(name) |
| Автор: Feldmarschall 20.5.2008, 20:34 |
| Magnifico, думаю, такое решение представляет исключительно академический интерес, и не имеет никакой связи с реальностью. А для реальной работы - делать свой collation set. Вот только врядли автор обладает такими правами в настройке БД. |
| Автор: MaxB 21.5.2008, 11:11 | ||
| Magnifico, спасибо. Но по моему мнению Feldmarschall, прав. При каждом запросе страници так сортировать, мне не какого хостинга не хватит, а если ето не буквы а целые слова. Я полагаю, что необходимо ввести еще одно поле "order", потом запросом
заполнить его. При каждом запросе страницы сортировать по полю `order`, а его сделать как индекс. Может есть еще способы. Feldmarschall, можно по потробней про collation set. |
| Автор: Akina 21.5.2008, 11:50 |
http://dev.mysql.com/doc/mysql/search.php?version=5.0&q=collation+set&from=%2Fdoc%2Frefman%2F5.0%2Fen%2Findex.html&lang=en |
| Автор: Feldmarschall 21.5.2008, 12:10 |
| порядок сортировки хранится в XML файле насколько я понимаю, его вполне можно подправить ручками так, как хочется. но, разумеется, только имея административный доступ к серверу |
| Автор: MaxB 21.5.2008, 12:38 |
| Спасибо, буду разбираться. |
| Автор: bars80080 21.5.2008, 16:02 |
| оффтоп наверно интересно, однажды у меня был факт, что при довольно большом числе выборок всплыла такая проблема, что сопоставляя значения с русскими символами ( where field='аб' ), запросы довольно сильно тормозили. тогда я ввёл дополнительное поле с тем же словом, но url-кодированное. скорость резко повысилась и стал искать по нему. мож у меня просто БД старая... |