mysql,有一张表里面已经有几千万条数据了,网页访问时极其缓慢,如何提高检索速度?
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
关注
展开全部
一般查询的话应该有常用的语句的。
比如常见查询为:
select*fromfactdatawhereuser='a'andmodule='b'anddtimebetween'2012-11-0100:10:00'and'2012-11-0100:11:10';
那么你这时候需要在factdata表上建立(user,module,dtime)的联合索引。
altertablefactdataaddindexi_merge(`user`,`module`,`dtime`);
你可以执行
explainselect*fromfactdatawhereuser='a'andmodule='b'anddtimebetween'2012-11-0100:10:00'and'2012-11-0100:11:10';
查看建立索引前面的返回的结果。
假如没有索引的话,explain会显示返回查询全表的数据自然会很慢了。
假如用到了索引的话,可以快速的找到需要查询的区间里的数据,往往需要查询的数据量是全表的1/100,1/1000,那么这时候花费的时间就是1/100,1/1000了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |