1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| > drop table TABLE_NLSSORT
table TABLE_NLSSORT dropped.
> CREATE TABLE TABLE_NLSSORT
(
ID NUMBER(2,0) NOT NULL
, DESC1 NVARCHAR2(2) NOT NULL
)
table TABLE_NLSSORT created.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (1, 'aé')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (5, 'aÉ')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (2, 'ae')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (3, 'af')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (4, 'ad')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (6, 'aE')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (7, 'aF')
1 rows inserted.
> INSERT INTO TABLE_NLSSORT (id, desc1) VALUES (8, 'aD')
1 rows inserted.
> COMMIT
committed.
> ALTER SESSION SET NLS_SORT = BINARY_AI
session SET altered.
> ALTER SESSION SET NLS_COMP = LINGUISTIC
session SET altered.
> CREATE INDEX IX_TABLE_NLSSORT_DESC1 ON TABLE_NLSSORT ( NLSSORT(DESC1,'nls_sort=''BINARY_AI''') )
index IX_TABLE_NLSSORT_DESC1 created.
> ANALYZE INDEX IX_TABLE_NLSSORT_DESC1 COMPUTE STATISTICS
index IX_TABLE_NLSSORT_DESC1 analyzed.
> exec dbms_stats.gather_table_stats(user, 'TABLE_NLSSORT')
anonymous block completed
> select * from table_nlssort where desc1 = 'aÉ'
ID DESC1
-- -----
1 aé
5 aÉ
2 ae
6 aE
> select * from table(dbms_xplan.display)
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1570464067
------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 40 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| TABLE_NLSSORT | 1 | 40 | 1 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IX_TABLE_NLSSORT_DESC1 | 1 | | 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access(NLSSORT("DESC1",'nls_sort=''BINARY_AI''')=HEXTORAW('0061006500') )
Note
-----
- dynamic sampling used for this statement (level=2)
18 rows selected |