84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
每小时要根据不同的种类的物品计算总量和总额(就是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里的数据写入数据库