表的字段名如下,包括8个字段:
编号 名称 长 宽 高 表面积 体积 重量
1 abc 12 11 15 。。 。。 。。(数据举例)
我建了一个如下的结构的一个表,表描述的是一组长方体物体的相关属性数据,具体字段定义见表。表中的数据量大概在5000万行左右,我常用的检索有如下几种情况:1 按给定的长,宽,高,表面积,体积或重量中的一个属性的范围进行检索;2 按给定的长,宽,高三个属性的范围联合检索;3;按给定的表面积,体积,重量三个属性的范围联合检索;4 按给定的长,宽,高中任意两个属性的范围联合检索;5 按给定的表面积,体积,重量中任意两个属性的范围联合检索。总之,检索的大概是在这6个属性中可能只用一个,或用多个。请问:为了加快检索速度,我应该怎么在相应字段建立索引来提升速度?(是应该建立单字段的索引还是2个字段的联合索引,还是3个字段的联合索引?就是这几种情况的取舍问题?怎么才能达到我想要的效果最优?还是应该都建上?)请一定要帮小弟啊!谢谢了。
编号 名称 长 宽 高 表面积 体积 重量
1 abc 12 11 15 。。 。。 。。(数据举例)
我建了一个如下的结构的一个表,表描述的是一组长方体物体的相关属性数据,具体字段定义见表。表中的数据量大概在5000万行左右,我常用的检索有如下几种情况:1 按给定的长,宽,高,表面积,体积或重量中的一个属性的范围进行检索;2 按给定的长,宽,高三个属性的范围联合检索;3;按给定的表面积,体积,重量三个属性的范围联合检索;4 按给定的长,宽,高中任意两个属性的范围联合检索;5 按给定的表面积,体积,重量中任意两个属性的范围联合检索。总之,检索的大概是在这6个属性中可能只用一个,或用多个。请问:为了加快检索速度,我应该怎么在相应字段建立索引来提升速度?(是应该建立单字段的索引还是2个字段的联合索引,还是3个字段的联合索引?就是这几种情况的取舍问题?怎么才能达到我想要的效果最优?还是应该都建上?)请一定要帮小弟啊!谢谢了。
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
2.表面积,体积,重量建立联合索引
如果DML操作不多的话,执行第3步操作
3. 宽,高, 体积,重量分别建立单独索引
常用的查询语句有:select * from table where 长 between 长1 and 长2 ;
select * from table where 宽 between 宽1 and 宽2 ;
select * from table where 高 between 高1 and 高2 ;
select * from table where 长 between 长1 and 长2 and 宽 between 宽1 and 宽2 ;
select * from table where 长 between 长1 and 长2 and 宽 between 宽1 and 宽2 and 高 between 高1 and 高2 ;就是长宽高三个属性的排列组合用的多,表面积,体积,重量的三个属性的排列组合用的少一点,但也会用到。