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