что обозначает injective?
значение конвертируется еще на клиенте и сервер не тратит CPU на перекодирование?
Наверное забыли добавить. Значит можно улучшить.
Ещё вспомнил, что функции преобразования UUID, а также hex/unhex (но только для строк) являются монотонными. Это используется для анализа индекса. Если x в первичном ключе и функция f монотонна на каком-то диапазоне, то индекс может работать, даже если написать условие на f(x). См. IFunction::getMonotonicityForRange и примеры в коде... Вот простейший пример, как обозначить, что функция везде монотонна: Monotonicity getMonotonicityForRange(const IDataType & type, const Field & left, const Field & right) const override { return { true }; }
Обсуждают сегодня