文章詳情頁
mysql - 查詢 修改數據庫優化問題吧
瀏覽:265日期:2022-06-13 10:40:30
問題描述
我有一張表 有幾十萬個數據 每次觸發某個事件的話 都會對所以表進行查詢 符合條件的話(大部分都會符合) 對表數據的某個字段進行修改(修改的數據每個都不一樣) 請問怎么做效率最高 因為是新手 不是很懂 非常感謝
問題解答
回答1:第一有查詢,所以查詢的條件必須讓建立的索引起效。第二批量的修改,,修改索引必須起效。但假如絕大部分的數據符合你這樣的條件時候,索引比較容易失效,所以建議可以獲取所有符合的id值,跟個通過id值去更新數據
回答2:如果一個事件會引起幾十萬條 UPDATE 的話:
檢查是否設計有問題;
如果設計是正確的,嘗試增加 redis 等緩存層,再使用消息隊列等異步方法去更新數據庫表;
相關文章:
1. dockerfile - [docker build image失敗- npm install]2. docker-compose中volumes的問題3. golang - 用IDE看docker源碼時的小問題4. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!5. angular.js - angular內容過長展開收起效果6. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?7. mac里的docker如何命令行開啟呢?8. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題9. nignx - docker內nginx 80端口被占用10. docker內創建jenkins訪問另一個容器下的服務器問題
排行榜

網公網安備