文章詳情頁
mysql - 查詢 修改數據庫優化問題吧
瀏覽:131日期:2022-06-13 10:40:30
問題描述
我有一張表 有幾十萬個數據 每次觸發某個事件的話 都會對所以表進行查詢 符合條件的話(大部分都會符合) 對表數據的某個字段進行修改(修改的數據每個都不一樣) 請問怎么做效率最高 因為是新手 不是很懂 非常感謝
問題解答
回答1:第一有查詢,所以查詢的條件必須讓建立的索引起效。第二批量的修改,,修改索引必須起效。但假如絕大部分的數據符合你這樣的條件時候,索引比較容易失效,所以建議可以獲取所有符合的id值,跟個通過id值去更新數據
回答2:如果一個事件會引起幾十萬條 UPDATE 的話:
檢查是否設計有問題;
如果設計是正確的,嘗試增加 redis 等緩存層,再使用消息隊列等異步方法去更新數據庫表;
相關文章:
排行榜
