Я пытаюсь создать индекс на основе функции для предиката с высокой стоимостью (Oracle).Отсутствует ошибка в скобках при создании индекса на основе функции
Я хочу создать индекс на столбце TIME_ID в таблице A4ORDERS, который возвращает значения месяца декабря:
SELECT * FROM A4ORDERS WHERE TRIM(TO_CHAR(time_id, 'Month')) in ('December');
Создание ФБР:
CREATE INDEX TIME_FIDX ON A4ORDERS(TRIM(TO_CHAR(time_id, 'Month')) in ('December'));
Я получаю «пропавших без вести Правильная скобка ", и я не могу понять, почему? Любое руководство, которое вы можете предоставить, будет оценено по достоинству.
Решение от ответа Алекса Пула ниже, что работал:
CREATE INDEX TIME_FIDX ON A4ORDERS (TRIM(TO_CHAR(time_id, 'Month')));
Индекс не «возвращает значения». Хотите индексировать только значения в декабре? –
Да, пожалуйста. Как это сделать? – ShoSom
Я думаю, вы должны объяснить, что вы пытаетесь выполнить. Какой запрос вы пытаетесь оптимизировать, например? –