Rumah  >  Soal Jawab  >  teks badan

php 实时价格监控,后台数据库io很大,计算很慢,如何解决?

每小时要根据不同的种类的物品计算总量和总额(就是sql一句话),已经放后台算了。但是计算起来很慢很慢,如何提高这个速度?

高洛峰高洛峰2867 hari yang lalu2230

membalas semua(7)saya akan balas

  • 电动小老虎

    电动小老虎2017-12-17 12:38:21

    1 Asingkan data panas dan sejuk 2 Tambah indeks 3 Sub-pangkalan data dan jadual 4 Cipta jadual sementara Elakkan kunci meja sebanyak mungkin

    balas
    0
  • 欧阳克

    欧阳克2016-11-16 14:01:51

    我从你的问题里面什么信息都无法得知。

    你说慢,那是sql慢还是打开网页慢还是什么?

    你的价格统计是一个cron还是什么?

    sql慢就查看执行计划,加索引,调整where条件的位置,分库分表。

    网页显示慢那就显示分页。


    balas
    0
  • 三叔

    三叔2016-11-16 14:01:30

    计算起来慢?我理解是 CPU 密集型计算 而不是 读取数据 IO 慢,从 PHP 的角度的话,可以考虑

    升级到 PHP 7

    增加机器配置,或者使用多进程,多线程计算

    使用 C 扩展 做计算这块

    或者,换个语言,专门做 计算这块 ,golang ?


    balas
    0
  • 欧阳克

    欧阳克2016-11-16 14:01:17

    通常我都是把这种统计放到更改的时候去执行。

    也就是一张统计表,里面记录时间(小时),分类,总量,总额。

    有量增加的时候,先查询当前时间(按小时记)是否有该分类,没有就插入一条。有就增加更新量和总额。


    balas
    0
  • 三叔

    三叔2016-11-16 14:00:56

    IO大试试缓存?

    balas
    0
  • 欧阳克

    欧阳克2016-11-16 14:00:38

    计算问题啊 .. 提高配置啊 .. 多加机器啊 .. 等等

    balas
    0
  • 三叔

    三叔2016-11-16 14:00:24

    第一步:用redis吧,做持久存储。第二步:再写一个shell,定时把redis里的数据写入数据库

    balas
    0
  • Batalbalas