mysql 大表優化 持續更新

2021-08-15 08:21:48 字數 442 閱讀 3850



單錶優化

除非單錶資料未來會一直不斷**,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種複雜度,一般以整型值為主的表在千萬級以下,字串為主的表在五百萬以下是沒有太大問題的。而事實上很多時候mysql單錶的效能依然有不少優化空間,甚至能正常支撐千萬級以上的資料量:

字段

索引

查詢sql

總結 補充

1,範圍右側全失效

explain select * from staffs where name=jally,and age>26 and pos=manager

2,帶頭大哥不能死 中間兄弟不能斷 最佳左字首原則

2張表 3張表 jion 聯和查詢

相反加

mysql優化積累 持續更新中

大表資料查詢 主從複製 讀寫分離 垂直拆分 水平切分 資料庫設計和查詢原則 盡量設定主鍵 推薦使用自增id,不要使用uuid 字段定義為not null而不是null 密碼雜湊,鹽,使用者身份證號等固定長度的字串應該使用char而不是varchar來儲存,這樣可以節省空間且提高檢索效率。避免犯如下s...

mysql優化理解筆記(持續更新)

目前最常見的是innodb和myisam兩個儲存引擎 1 innodb 支援事務處理,提供行級鎖 外來鍵約束索引,行鎖 2 myisam 支援全文搜尋,表鎖 對於經常需要增刪改操作的表建議使用innodb,因為有事務處理 要麼成功要麼失敗回滾 而需要大量查詢操作的表建議用myisam 索引可以大大提...

mysql大表更新sql的優化策略

問題sql背景 專案有6個表的要根據pid欄位要寫入對應的brand id欄位。但是這個其中有兩個表是千萬級別的。我的worker執行之後,線上的mysql主從同步立刻延遲了!執行了乙個多小時之後,居然延遲到了40分鐘,而且只更新了十幾萬行資料。問題sql如下 根據商品id更新品牌id id upd...