现在表上有30多列数据. 经常需要这样查询:按某个列排序, 取其中的一段连续的记录. 而增删改相对较少.
是不是应该对每个列都建立索引? 要怎么实现会比较高效? 谢谢~

解决方案 »

  1.   

    一般是对该表的主关键字进行索引,create index ...
      

  2.   

    相关字段建索引,其他的要看具体SQL了。
      

  3.   

    这个我是这么想的...如果每次查询都要order by, 总觉得效率会很低.
    如果不是对于数据库我会这么做:
    在每次修改后, 对有被修改数据的列重新排序, 完了建一个索引. index[i] 保存按此列排序时排在第i位的数据在数据表中的位置.
    在以后每次对一列查询时, 只需提供范围, 我就可以给出排好序的, 对应位置的一段数据, 而不需要每次查询都排序.(根据index[20] ~ index[40]中的值来索引数据)不知道我有没描述清楚...我现在就是想让数据库这么做, 但是不知道该怎么实现.