以前使用mysql的,现在有个小项目需要用mssql。数据库建立好了,主要是索引实在搞不清楚
一是,外键是不是只能加速表连接?在本表中可以当索引使用吗?
二是,有的表是几个字段加在一起作为主键的,那么这个主键是属于复合索引?还是分开来的独立的索引。比如,a b两个字段作为一个主键,那么查询的时候where b=1或者where a=1这样类似的查询会不会使用索引呢?

解决方案 »

  1.   


    一:可以
    二:是复合索引
    大部分情况下 where a=1 会,where b=1不会。 是按照索引顺序来用的饿。 不过你可以在where b=1的时候强制使用索引。
    少部分情况下, 二者都不会使用索引
      

  2.   

    一:可以 
    二:是复合索引 
    大部分情况下 where a=1 会,where b=1不会。 是按照索引顺序来用的饿。 不过你可以在where b=1的时候强制使用索引。 
    少部分情况下, 二者都不会使用索引
    ===========
    正解
      

  3.   

    谢谢各位的解答,请问,在什么情况下where a=1和where b=1都不会使用索引呢?能举个例子吗?