读书人

2表关联后速度不给力求优化

发布时间: 2012-07-04 19:33:54 作者: rapoo

二表关联后,速度不给力,求优化
现有表A 148万条数据,表B 30万数据,使用的数据库是postgresql数据库,lastip、ip1、ip2有做索引,无where过滤条件,有什么办法可以在短时间内得到数据,这样的数据量其实不算很大,可是语句的优化有点麻烦。lastip、ip1、ip2均为数字

需要对A表、B表进行关联分析,得到A表中用户在各省中的分布情况。

SELECT count(DISTINCT A.id)as dt ,b.province
from A left join B b
on A.lastip between B.ip1 and B.ip2
GROUP BY B.province;



[解决办法]
ip1 ip2做联合索引
[解决办法]
建视图,建表索引

建物化视图,建视图索引
[解决办法]
这个语句,很难优化,可以考虑的是把数据定时统计另存一表以供查询。

读书人网 >Mysql

热点推荐