目的是一样的,都是为了加快检索速度。
例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。
都是一种编码顺序。
数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。
但是空格索引是基于Shape格网索引。Shape_geometry格网索引和ObjectID索引的区别?Shape_geomtry格网索引号具有空间关联性,而ObjectID索引号不具有空间关联性,但是这跟检索速度有关系吗?跟检索条件有关。除了goemtry索引之外都属于属性索引。
如何查看ArcGIS Geometry索引级别和索引号:
如何查看ArcGIS ObjectID索引级别和索引号:
如果查询语句是select * from table_1那么索引并不会起作用。。。
如果查询语句是select * from table_1 where ObjectID > 1000,那么索引才会起作用
如果查询语句是select * from table_1 where X,Y=120,31,那么会启用空间索引