oracle有位图索引,函数索引等
sql server就只有一般索引和全文索引。sql没有性别类型字段,呵呵。
clustered index是说索引按排序规则按簇排列,当然这个是需要维护以后的事。这样查询效率要高。我的感觉是oracle的函数执行效率要第于sql,这个是我个人使用的感觉。

解决方案 »

  1.   

    聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。聚集索引通常可加快 UPDATE 和 DELETE 操作的速度,因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。是在BOL上看到的
    可考虑将聚集索引用于: 
    1 包含数量有限的唯一值的列,如 state 列只包含 50 个唯一的州代码。
    2 使用下列运算符返回一个范围值的查询:BETWEEN、>、>=、< 和 <=。
    3 返回大结果集的查询。
      

  2.   

    有道理,节省Update时间(因为只有一个物理的OBJECT需要被updated)
      

  3.   

    我在BOL上又看到,
    在创建非聚集索引之前,应先了解您的数据是如何被访问的。可考虑将非聚集索引用于:
    包含大量非重复值的列,如姓氏和名字的组合(如果聚集索引用于其它列)。如果只有很少的非重复值,如只有 1 和 0,则大多数查询将不使用索引,因为此时表扫描通常更有效。照这样的说法,像性别这样的字段,就不要单独建索引了,否则,只会更慢。