描述:
现有A表 该表数据 有千万 我在该表上创建了一个索引,索引健在主键上 例:create index index_members on A(memberno asc);
B表 该表数据 也有百万 该表也创建了一个索引,索引未健在主键上 例:create index index_addressesd on B(memberno asc);
同时还有 C,D表 C表中有memberno 列(不是主键),D表没有该列 。C,D表也建立了索引,但并未 建立在主键上。操作:
现在做的事情是 四张表联查,默认查询的条件是 每张表里memberno相等,并且A表有的列的值<>3,B表的某列=C表的某列。问题:
现在不知道怎么建立索引是最快的?聚集索引,非聚集索引 又该怎么建立? 新手第一次接触这么大的数据,麻烦各位帮忙看一下。在下感激不尽 !!!!!!!
谢谢!!
现有A表 该表数据 有千万 我在该表上创建了一个索引,索引健在主键上 例:create index index_members on A(memberno asc);
B表 该表数据 也有百万 该表也创建了一个索引,索引未健在主键上 例:create index index_addressesd on B(memberno asc);
同时还有 C,D表 C表中有memberno 列(不是主键),D表没有该列 。C,D表也建立了索引,但并未 建立在主键上。操作:
现在做的事情是 四张表联查,默认查询的条件是 每张表里memberno相等,并且A表有的列的值<>3,B表的某列=C表的某列。问题:
现在不知道怎么建立索引是最快的?聚集索引,非聚集索引 又该怎么建立? 新手第一次接触这么大的数据,麻烦各位帮忙看一下。在下感激不尽 !!!!!!!
谢谢!!
解决方案 »
- 关于 ewebeditor 的问题,求教
- 问个DHTMLX组件的问题,诚心请教
- 在做ssh(struts1.2+hibernate3.1+spring2.0)配置时,我把action作为bean配置到applicationContext.x
- 那个有下载的源代码啊
- !!!现在学开发j2ee的工具很多,最好用的是哪一种,参与有分!!!!!!!!!!!!!!!
- Struts问题dynamicJavascript设置成"false"或"true"是什么意思呢?
- 有关PreparedStatement 的代参数设置的SQL问题
- 关于weblogic7.0的一点小问题,在线等,请高手指点
- finder方法的问题???
- 为何我是用变量代表一个字符串就会出现文件名错误的问题
- struts2 action多实例问题 困扰2天了
- 关于hibernate里的修改操作
B表的某列=C表的某列, B,C两表达某列建索引
A表有的列的值 <> 3 , A表达有的列的值建索引在下菜鸟,以上个人看法。坐等高手
聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。建议使用聚集索引的场合为:
a.此列包含有限数目的不同值;
b.查询的结果返回一个区间的值;
c.查询的结果返回某值相同的大量结果集。 非聚集索引指定了表中记录的逻辑顺序,但记录的物理顺序和索引的顺序不一致,聚集索引和非聚集索引都采用了B+树的结构,但非聚集索引的叶子层并不与实际的数据页相重叠,而采用叶子层包含一个指向表中的记录在数据页中的指针的方式。非聚集索引比聚集索引层次多,添加记录不会引起数据顺序的重组。建议使用非聚集索引的场合为:
a.此列包含了大量数目不同的值;
b.查询的结束返回的是少量的结果集;
c.order by 子句中使用了该列。