Вопрос не глупый. Такой вариант конечно рассматривался, однако поверьте мне на слово мой вариант работает быстрее. UNION — очень тяжеловесная операция, так как необходимо делать ORDER BY уже после объединения данных. Т.е. в моем варианте ORDER BY происходит для каждого столбца в отдельности за приемлимое время (однако не маленькое), а в случае с UNION эта сортировка происходит для всех данных вместе. Сравните: отсортировать 100 столбцов по миллиону записей в отдельности и отсортировать все эти данные после объединения. Выигрыш серьезный получается.
по крайней мере в CUBRID.
Я попробовал различные способы. Этот получился наиболее быстрым.
С робокассой была та же проблема, что и у Вас — попросили регистрироваться как физ лицо. Решилось все просто — нашел телефон того человека, который мне ответил. По телефону уточнил все их требования, в итоге дискуссии пришли к тому, что добавление дополнительных контактных данных на сайте их устроит. Вообще с ними проблем никаких не бывает, четко работают, по договору.
Вопрос к kadishmal, будут ли опубликованы решения? интересно, что же такое придумали другие участники.
Согласен с Ekstazi, что были определенные трудности с пониманием того, в каком формате обрабатывать данные. Я решил использовать просто те значения, которые возвращали стандартные драйверы после обычного TO_CHAR() и видимо оказался прав.
Вообще отличный конкурс, хорошая разминка мозгов. Задача была больше алгоритмической, чем на знание SQL и CUBRID.
В Казани похоже не учитывается интервал движения автобусов. Несколько раз яндекс предложил проехаться на автобусе, который ходит раз в час, хотя явно есть более удобные маршруты.
В силу разности архитектуры этих поисковых движков интереснее было бы сравнивать не MyISAM и InnoDB, а каждый из них с со своими пропатченными версиями. Я имею ввиду InnoDB vs XtraDB и Aria против MyISAM. Имхо это было бы более объективно и полезно.
Загнулся tuddu, объявлено о закрытии Планария… А будете ли Вы поддерживать Ваш сервис, когда нагрузка на сервер станет критичной и Вам станет накладно его оплачивать?
Приведенный пример несколько надуман. На деле эта самая таблица имеет куда больше полей. На проекте необходимо использование внешних ключей и транзакций, что недоступно в MyISAM
по крайней мере в CUBRID.
Я попробовал различные способы. Этот получился наиболее быстрым.
Согласен с Ekstazi, что были определенные трудности с пониманием того, в каком формате обрабатывать данные. Я решил использовать просто те значения, которые возвращали стандартные драйверы после обычного TO_CHAR() и видимо оказался прав.
Вообще отличный конкурс, хорошая разминка мозгов. Задача была больше алгоритмической, чем на знание SQL и CUBRID.