每小时要根据不同的种类的物品计算总量和总额(就是sql一句话),已经放后台算了。但是计算起来很慢很慢,如何提高这个速度?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
1 핫 데이터와 콜드 데이터 분리 2 인덱스 추가 3 하위 데이터베이스 및 테이블 4 임시 테이블 생성 테이블 잠금을 최대한 피하세요
我从你的问题里面什么信息都无法得知。
你说慢,那是sql慢还是打开网页慢还是什么?
你的价格统计是一个cron还是什么?
sql慢就查看执行计划,加索引,调整where条件的位置,分库分表。
网页显示慢那就显示分页。
计算起来慢?我理解是 CPU 密集型计算 而不是 读取数据 IO 慢,从 PHP 的角度的话,可以考虑
升级到 PHP 7
增加机器配置,或者使用多进程,多线程计算
使用 C 扩展 做计算这块
或者,换个语言,专门做 计算这块 ,golang ?
通常我都是把这种统计放到更改的时候去执行。
也就是一张统计表,里面记录时间(小时),分类,总量,总额。
有量增加的时候,先查询当前时间(按小时记)是否有该分类,没有就插入一条。有就增加更新量和总额。
IO大试试缓存?
计算问题啊 .. 提高配置啊 .. 多加机器啊 .. 等等
第一步:用redis吧,做持久存储。第二步:再写一个shell,定时把redis里的数据写入数据库
1 핫 데이터와 콜드 데이터 분리 2 인덱스 추가 3 하위 데이터베이스 및 테이블 4 임시 테이블 생성 테이블 잠금을 최대한 피하세요
我从你的问题里面什么信息都无法得知。
你说慢,那是sql慢还是打开网页慢还是什么?
你的价格统计是一个cron还是什么?
sql慢就查看执行计划,加索引,调整where条件的位置,分库分表。
网页显示慢那就显示分页。
计算起来慢?我理解是 CPU 密集型计算 而不是 读取数据 IO 慢,从 PHP 的角度的话,可以考虑
升级到 PHP 7
增加机器配置,或者使用多进程,多线程计算
使用 C 扩展 做计算这块
或者,换个语言,专门做 计算这块 ,golang ?
通常我都是把这种统计放到更改的时候去执行。
也就是一张统计表,里面记录时间(小时),分类,总量,总额。
有量增加的时候,先查询当前时间(按小时记)是否有该分类,没有就插入一条。有就增加更新量和总额。
IO大试试缓存?
计算问题啊 .. 提高配置啊 .. 多加机器啊 .. 等等
第一步:用redis吧,做持久存储。第二步:再写一个shell,定时把redis里的数据写入数据库