数据库只有一张表,大概有5000万以上的数据,我的查询中要频繁使用其中两个double的字段double_field1,double_field2,查询类似于:select count(*) from table_name where double_field1>=12.3 and double_field1<13.2 and double_field2>=20.3 and double_field2<25为了提高查询速度,我将两个字段建立了一个联合索引,用explain命令查看上述查询,发现使用了这个索引,但执行这个查询的时候,MySQL进程占用CPU一直是0%,用show processlist查看查询线程的状态,发现其一直处于sending data的状态。我将同样的操作过程应用于一个小一点的表(大概10万行数据),没有任何问题,查询都挺正常。
是数据库太大导致的,还是我的索引设置有问题?求助大侠帮忙,现在项目催得特别紧,我必须在今天明天搞定这个事,不然前途堪忧啊!!!!感谢!
是数据库太大导致的,还是我的索引设置有问题?求助大侠帮忙,现在项目催得特别紧,我必须在今天明天搞定这个事,不然前途堪忧啊!!!!感谢!
数据量过多,或者符合 double_field1>=12.3 and double_field1 <13.2 的记录过多的话,会导速度比较慢。