文章詳情頁
mysql - 查詢 修改數據庫優化問題吧
瀏覽:171日期:2022-06-13 10:40:30
問題描述
我有一張表 有幾十萬個數據 每次觸發某個事件的話 都會對所以表進行查詢 符合條件的話(大部分都會符合) 對表數據的某個字段進行修改(修改的數據每個都不一樣) 請問怎么做效率最高 因為是新手 不是很懂 非常感謝
問題解答
回答1:第一有查詢,所以查詢的條件必須讓建立的索引起效。第二批量的修改,,修改索引必須起效。但假如絕大部分的數據符合你這樣的條件時候,索引比較容易失效,所以建議可以獲取所有符合的id值,跟個通過id值去更新數據
回答2:如果一個事件會引起幾十萬條 UPDATE 的話:
檢查是否設計有問題;
如果設計是正確的,嘗試增加 redis 等緩存層,再使用消息隊列等異步方法去更新數據庫表;
相關文章:
1. angular.js - angular內容過長展開收起效果2. 關于nginx location配置的問題,root到底是什么3. 關于docker下的nginx壓力測試4. angular.js - angularjs的自定義過濾器如何給文字加顏色?5. docker鏡像push報錯6. python - flask表單 如何把提交多行數據在服務端讀取出來?7. python 怎樣用pickle保存類的實例?8. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯9. python的前景到底有大?如果不考慮數據挖掘,機器學習這塊?10. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?
排行榜
