Как получить нечувствительные отдельные элементы в таблице данных оракула? - PullRequest
1 голос
/ 09 августа 2011

У меня есть таблица с парой тысяч записей. Когда я запускаю заявление типа

select distinct issue_type from data_tab;

результат:

issue_type
C
c

Каким может быть эффективный способ получения набора результатов без учета регистра, поэтому результат будет таким:

issue_type
C

Я могу использовать sql как

select issue_type from data_tab
where data_id in 
( select min(data_id) from data_tab
group by upper(issue_type));

, что примерно в 7 раз медленнее, чем простое отчетливое утверждение. Я хотел бы знать, есть ли лучший способ. Любые предложения в JPQL или (нативный оракул) SQL должны быть очень полезны.

Заранее спасибо, Вардхан.

1 Ответ

5 голосов
/ 09 августа 2011

Вместо того, чтобы вкладывать SQL, почему бы просто не написать

select distinct upper(issue_type) from data_tab;

Он должен быть немного медленнее, чем исходный запрос, если у вас еще нет индекса на issue_type. В противном случае вы можете создать индекс на основе функции для upper(issue_type), но это, вероятно, будет немного экстремально для вашего варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...