做一个统计功能,用函数实现
mysql数据库中有一个location表保存全国所有省市地区的名称和ID,有3000多条
另一个location_site表保存每个地区对应网站的数据(一个地区有一个网站,一对一的关系)
第三个location_statistic表保存每个地区网站的统计信息(也是每个地区有一个统计记录)
函数实现的功能是每天定时更新这些统计信息
在统计的时候,要把子节点的数据一起加上
比如在统计辽宁省的数据时,要连同沈阳市、鞍山市等各个市级行政区域,以及这些市下的区级行政区域的数据一起SUM统计
而location_site只保存本地区节点的信息,不包含下级行政区域的数据
我现在以及有了获取某节点的所有子节点和父节点的函数
每天更新统计信息的话
就要获取某个节点的所有子节点,对这个节点进行统计运算
然后遍历location_statistic表,一条一条数据进行更新
所有子节点是一个字符串,还要用到in去查询,可以说效率非常之低
有没有什么好的办法可以高效完成以上的功能呢,在数据库层面