我有一張表有幾十萬個資料每次觸發某個事件的話都會對所以表進行查詢符合條件的話(大部分都會符合) 對錶數據的某個字段進行修改(修改的數據每個都不一樣) 請問怎麼做效率最高因為是新手不是很懂非常感謝
第一有查詢,所以查詢的條件必須讓建立的索引起效。 第二批量的修改,,修改索引必須起效。但假如絕大部分的資料符合你這樣的條件時候,索引比較容易失效,所以建議可以取得所有符合的id值,跟個透過id值去更新資料
如果一個事件會引起幾十萬條 UPDATE 的話:
檢查是否設計有問題;
如果設計是正確的,嘗試增加 redis 等快取層,再使用訊息佇列等非同步方法去更新資料庫表;
第一有查詢,所以查詢的條件必須讓建立的索引起效。
第二批量的修改,,修改索引必須起效。但假如絕大部分的資料符合你這樣的條件時候,索引比較容易失效,所以建議可以取得所有符合的id值,跟個透過id值去更新資料
如果一個事件會引起幾十萬條 UPDATE 的話:
檢查是否設計有問題;
如果設計是正確的,嘗試增加 redis 等快取層,再使用訊息佇列等非同步方法去更新資料庫表;