sql对100万条数据的查询和统计(主要是统计)效率提升 15
数据表目前大概90+W条数据,只增不减,很快就会破百万,查询目前问题不大,主要是统计,一使用count或者sum这种操作就会非常非常慢(联表查询,已经把字段最精简了),显...
数据表目前大概90+W条数据,只增不减,很快就会破百万,查询目前问题不大,主要是统计,一使用count或者sum这种操作就会非常非常慢(联表查询,已经把字段最精简了),显示30条数据需要大概20秒,这显然是客户无法忍受的,所以来求助有什么办法可以快速统计大数据量的数据表(联表)
目前使用的是TP框架,语句大概为:M()->table('**')->where(**)->join('left join ***')->alias('a')->sum();
一次大概是0.5秒,问题是要查询30条的话,就要执行30次,那时间就很恐怖了。。。
前边忘了说,查询是先查A表,然后根据A表的ID去B表里SUM或者COUNT
求前辈指点,目标是通过A表ID,SUM ,count b表的各种信息(一个A表ID对应多条B表数据),最长用5秒 索引也已经加了,在ADDTIME加了聚集索引,ID和需要sum的字段加了非聚集索引 展开
目前使用的是TP框架,语句大概为:M()->table('**')->where(**)->join('left join ***')->alias('a')->sum();
一次大概是0.5秒,问题是要查询30条的话,就要执行30次,那时间就很恐怖了。。。
前边忘了说,查询是先查A表,然后根据A表的ID去B表里SUM或者COUNT
求前辈指点,目标是通过A表ID,SUM ,count b表的各种信息(一个A表ID对应多条B表数据),最长用5秒 索引也已经加了,在ADDTIME加了聚集索引,ID和需要sum的字段加了非聚集索引 展开
1个回答
推荐于2017-08-26
展开全部
SELECT count(id)
FROM TBL_POS_SHOP s,
TBL_POS_POS p,
TBL_POS_CUSTOMER c,
TBL_POS_ORDER o,
TBL_POS_CARDINFO cd
WHERE o.POS_CATI = p.POS_CATI
and o.CUSTOMER_ID = c.ID
and o.SHOP_ID = s.ID
and o.CARDINFO_ID = cd.ID
FROM TBL_POS_SHOP s,
TBL_POS_POS p,
TBL_POS_CUSTOMER c,
TBL_POS_ORDER o,
TBL_POS_CARDINFO cd
WHERE o.POS_CATI = p.POS_CATI
and o.CUSTOMER_ID = c.ID
and o.SHOP_ID = s.ID
and o.CARDINFO_ID = cd.ID
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
数位汇聚
2023-08-28 广告
2023-08-28 广告
常见的查询城市人口数据途径有以下几个:1. 国家统计网站:中国各级单位及公众了解全国及各地区经济社会发展和人口变动情况的重要渠道之一。其网站可以查询全国及各地各级行政区域的人口数据,包括城市总人口、年龄结构、性别比例等。2. 地方统计网站:...
点击进入详情页
本回答由数位汇聚提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询