4 回答
TA贡献1794条经验 获得超8个赞
索引是以表列为基础的数据库对象,索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序。
通过索引,可以加快数据的查询速度和减少系统的响应时间;
可以使表和表之间的连接速度加快。
用SQL建立索引:
为了给一个表建立索引,启动任务栏SQL Sever程序组中的ISQL/w程序。进入查询窗口后,输入下面的语句:
CREATE [UNIQUE] [CLUSER] INDEX <索引名> ON <表名> (<列名>);
UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录
CLUSTER 表明要建立的是聚簇索引(指索引项的顺序与表中记录的物理顺序一致)
例:CREATE CLUSER INDEX Stuname ON Student(Sname);
在student表的sname列建立一个聚簇索引,student中记录按照sname值的升序排列.
TA贡献2019条经验 获得超9个赞
TA贡献1831条经验 获得超10个赞
如果你查询的字段都在索引中,那么可以只查询索引,不用查询表,就可以输出数据。
这是建索引时的一种考虑。
但是在你这种情况下不适用。
我猜你是想输出大批数据,而不是根据索引选择有数的那么几条。
输出数据占总数据量达到一定比例以后,再用索引就是浪费更多资源而得不到回报了。
因为数据行存储在块中。一块存多行。用索引时是根据索引信息,每一行访问一次数据块。
数据多了会覆盖大多数数据块,并且一个数据块会被访问多次。就不如全表扫描一次,访问一个数据块就把该块所有行都输出。这样效率最高。
所以你这种情况不应该用索引的。
添加回答
举报