suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - So lösen Sie den Druck auf die Abfragedatenbank für geplante Aufgaben

Es gibt viele geplante Aufgaben, die auf verschiedene Server verteilt sind. Um die Datenbank nach Daten abzufragen, die die Bedingungen (Status) erfüllen, und diese dann zu verarbeiten. Auf diese Weise wird die Datenbank von Hunderten oder Tausenden geplanten Aufgaben abgefragt, was direkt zu einem starken Anstieg des Datenbankdrucks führt.

Wie gehe ich mit dieser Situation um? So reduzieren Sie den Datenbankdruck.

PHPzPHPz2775 Tage vor1247

Antworte allen(3)Ich werde antworten

  • 黄舟

    黄舟2017-05-17 10:06:44

    1. 把相似或类似的轮询任务合并,以减少轮询任务的数量

    2. 降低轮询任务的执行频率

    3. 优化轮询任务内部的SQL语句,降低数据库查询压力

    4. 平摊轮询任务的执行时间,不要都集中在某个时间段

    5. 不使用轮询任务

    6. 升级数据库

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:06:44

    试试把要轮询的数据id单独存放,任务轮询id表,然后在根据id去单条的查询

    Antwort
    0
  • PHPz

    PHPz2017-05-17 10:06:44

    另外数据库也可以设置多个从库,定时任务可以从不同的从库里轮询得到数据,这样数据库的压力就小很多

    Antwort
    0
  • StornierenAntwort