某雲上分布式資料庫SQL優化案例

2021-10-16 08:16:45 字數 677 閱讀 3972

其中i_uid是a表的水平拆分鍵,accesion是b表的水平拆分鍵

select

*from a a where a.i_uid in

(select b.union_an from b b where b.accesion = ?)

以下操作均發生在物理mysql伺服器的**節點上(例如mycat)

explain

select

*from a a where a.i_uid in

(select b.union_an from b b where b.accesion = ?)

1.可以看到,本sql掃瞄了160個分片(全分片掃瞄),但是實際上這條sql每次只查詢出2-3條資料,這是不合理的

2.子查詢走了拆分鍵,應該在**層就可以分析出資料儲存在哪乙個物理分庫,所以理論上子查詢只需要執行一次物理sql,之後再執行外層查詢

3.外層查詢的執行的物理sql次數,由子查詢返回的資料決定,最多也就2-3次,但是實際上這個sql一次得執行160個物理sql

select … in (select …)這種型別的sql會在**層被解析成join型別的,導致全分片掃瞄

在應用層拆分sql,先執行子查詢,再執行外層查詢,這樣兩次查詢都會走拆分鍵,物理sql執行次數從160降到10次以內

分布式資料庫

網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...

分布式資料庫

1 背景 我們知道資料是乙個公司的命脈,隨著業務越做越大,資料量也會越來越大,計算也會越來越複雜,效能,可靠性,可擴充套件性的需求就會越來越強烈,這個時候乙個集中式的資料庫顯然已經滿足不了需求了。對於技術決策者來說有兩條路可以走,第一 按照現有的大型資料庫的解決方案,比如sql server clu...

分布式資料庫

一 分布式資料庫的出現的場景 網際網路 軟體國產化 o2o 五新 新零售 新製造,新金融 新資源 新技術 等主題接連提出來,並且在各個行業落地,給資料庫帶來了巨大機會,具體包含3個方向 1.遠超單機資料庫容量的資料儲存和訪問峰值 2.實時資料分析檢索 oltp兼顧olap 3.更高階別的容災需求。這...