Нужно получить все записи, с непустым полем orientir
или
или
Проблема в том, что вышеуказанные запросы не хотят использовать индекс.
скрипт таблицы:
Но если использовать = вместо <>, то
Добавлю. В таблице (в этом поле) были данные. Я не создавал нового поля. Я создал новый "COLLATION NOCASE_COLL", изменил COLLATION у таблицы, а затем создал индекс.
SELECT ORIENTIR FROM APART WHERE ORIENTIR <> ''
или
SELECT ORIENTIR FROM APART WHERE ORIENTIR IS DISTINCT FROM NULL
или
SELECT ORIENTIR FROM APART WHERE ORIENTIR IS NOT NULL
план |
---|
PLAN (APART NATURAL) |
Проблема в том, что вышеуказанные запросы не хотят использовать индекс.
скрипт таблицы:
CREATE COLLATION NOCASE_COLL FOR WIN1251 FROM PXW_CYRL CASE INSENSITIVE; ... ... CREATE TABLE APART ( ORIENTIR STRING255 COLLATE NOCASE_COLL /* STRING255 = VARCHAR(255) */, ... ... CREATE INDEX APART_IDX_ORIENTIR ON APART (ORIENTIR);
Но если использовать = вместо <>, то
план |
---|
PLAN (APART INDEX (APART_IDX_ORIENTIR)) |
Добавлю. В таблице (в этом поле) были данные. Я не создавал нового поля. Я создал новый "COLLATION NOCASE_COLL", изменил COLLATION у таблицы, а затем создал индекс.