关于oracle 11g问题的索引

Gol*_*old 2 sql oracle oracle11g ora-00904

我有桌子(MEN),有900,000条记录.

在这张表中我有字段IPTdate.

当我运行查询时:

select * from MEN where IP = '1.1.1.1' and Tdate = TO_DATE('07/04/2010', 'DD/MM/YYYY')
Run Code Online (Sandbox Code Playgroud)

我得到结果需要很长时间.

我尝试制作这样的索引:

create index
    my_in
on
   MEN (IP,Tdate );
Run Code Online (Sandbox Code Playgroud)

但如何运行查询以获得快速结果?

我试试这个:

select My_in from MEN where IP = '1.1.1.1' and Tdate = TO_DATE('07/04/2010', 'DD/MM/YYYY')
Run Code Online (Sandbox Code Playgroud)

并得到错误: ORA-00904

Kla*_*sen 5

您不在选择中使用索引名称(My_in).数据库本身将决定使用索引.因此,您应该像第一个示例中那样进行相同的选择.

  • 它将选择它认为最好的那个.它通过查看表的统计信息来确定这一点,这就是为什么有时必须更新表/索引的统计信息以使其使用正确的索引. (4认同)