select a.* from where a.year='2010'要查询的列很多 数据也很多  如何使用year字段的索引进行查询该语句?

解决方案 »

  1.   

    先创建索引啊
    create index ...
      

  2.   


    有索引,假设一个索引index_A,如何用它实现where条件里的东西
      

  3.   

    如果建了索引的话
    where条件中没有对这个字段进行运算、函数等 应该就会走索引的
    比如说 你给year字段建了索引 where year= 就会走索引的 但是 to_char(year)=  可能就不会走索引
    你看看执行计划吧
      

  4.   


    --索引一般建立在那些常作为查询条件的列上,
    --比如......where col_1 > 500,就可以为col_1建立一个索引
    --建索引语法如下:
    create [unique] index index_name
    on table_name(column_name,...)
    tablespace tab_space_name;
    unique:指定索引列中的值必须是唯一的 
      

  5.   


    create index indx_year
    on a(year)
    tablesapce user;
      

  6.   

    这个要具体情况具体分析
    就算你建了index,where条件中也没有对索引列进行运算什么的,也不一定走索引
    这个还跟你实际的数据量和环境有关