我执行的sql是:select f1,f2,f3 from tableA where f5='xxx'由于表数据量比较大500w ,所以不知道怎么建立索引最快
我现在只对f5建立了索引;
不知道有没有必要对 f1,f2,f3在分别建立索引;
还是说要建立一个f1,f2,f3,f5的复合索引!请教大家我该怎么建立这个索引呢?

解决方案 »

  1.   

    索引第一列一定是f5,
    如果表的字段不多,一个f5就够了
    如果字段很多,那么可以考虑建立(f5,f1,f2,f3)
      

  2.   

    看你where后面的条件是什么了
      

  3.   

    建一个 f5的索引即可。当然如果你不考虑写入效率和磁盘空间占用,则可以建个create index xxx on tableA (f5,f1,f2,f3)