Ich habe eine Tabelle mit Hunderttausenden von Daten. Jedes Mal, wenn ein Ereignis ausgelöst wird, werden alle Tabellen abgefragt. Wenn die Bedingungen erfüllt sind (die meisten davon werden erfüllt sein), wird ein bestimmtes Feld der Tabellendaten geändert. (jede geänderte Daten wird anders sein.) Bitte sagen Sie mir, wie ich es am effizientesten machen kann, da ich ein Neuling bin und nicht viel darüber weiß
第一有查詢,所以查詢的條件必須讓建立的索引起效。
第二批量的修改,,修改索引必須起效。但假如絕大部分的數據符合你這樣的條件時候,索引比較容易失效,所以建議可以獲取所有符合的id值,跟個通過id值去更新數據
如果一个事件会引起几十万条 UPDATE 的话:
检查是否设计有问题;
如果设计是正确的,尝试增加 redis 等缓存层,再使用消息队列等异步方法去更新数据库表;