索引创建了以后,怎么用啊????只会创建不会用啊!!!!!!!
书上从没讲明索引怎么个用法啊!!!!!!!

解决方案 »

  1.   

    索引这个东西,是给系统自己用的,你做为一个数据库的操作者,不能去主动调用。
    select * into o from sysobjects 
    go
    create index o_ix on o(id)  -- 创建索引
    go
    select * from o where id = 3  -- 自动动使用索引
    go
    drop table o
    go
      

  2.   

    这个问题不错,要是早点提出来的话我就把它写到书里面了。首先,索引是什么?索引不是关系数据库理论的产物,是为了性能和维护工作而出现的东西,主要用来加快数据操作速度和提高数据的存储利用。
    其次,索引怎么用?索引对于终端用户,或者说对于不能干预的数据库管理系统来说,索引仅仅提供创建、删除和修改的功能,在SQL Server中,可以让优化器自己选择,也可以用提示(hints)功能进行指定,不过除非你很了解索引,否则让SQL Server决定吧。
    最后,你能做的,通常只有3种:1、创建合理的索引。2、编写合理的语句让其能用到索引。3、维护索引。这些需要知识和经验,并且还包括业务方面的知识,一时半刻无法说清楚
      

  3.   


    纠正一下咯:也是可以人为干预某条select 语句使用某个索引的哦,只是一般情况下让系统自动选择而已。
    比如表A有索引 IX_col ,当我要查询的时候可以这样:select  col1,col2,col3 from A with(nolock,index=IX_col) where ****** 就可以了哦
      

  4.   


    纠正一下咯:也是可以人为干预某条select 语句使用某个索引的哦,只是一般情况下让系统自动选择而已。
    比如表A有索引 IX_col ,当我要查询的时候可以这样:select  col1,col2,col3 from A with(nolock,index=IX_col) where ****** 就可以了哦
      

  5.   


    纠正一下咯:也是可以人为干预某条select 语句使用某个索引的哦,只是一般情况下让系统自动选择而已。
    比如表A有索引 IX_col ,当我要查询的时候可以这样:select  col1,col2,col3 from A with(nolock,index=IX_col) where ****** 就可以了哦
    承让承让,献丑了
      

  6.   


    纠正一下咯:也是可以人为干预某条select 语句使用某个索引的哦,只是一般情况下让系统自动选择而已。
    比如表A有索引 IX_col ,当我要查询的时候可以这样:select  col1,col2,col3 from A with(nolock,index=IX_col) where ****** 就可以了哦
    承让承让,献丑了
    客气了,你说的很严谨。