MySQL如何實現分庫分表,如何提高查詢效率


本人沒有做過電商平台,但了解其中的道道,今天閑來無事,說說其中的道道。下邊我要開始表演了。

在大型電商網站中,隨着業務的增多,數據庫中的數據量也是與日俱增,這時候就要將數據庫進行分庫分表了。

MySQL如何實現分庫分表,如何提高查詢效率

 

1、如何分庫分表?

兩種解決方案:垂直拆分、水平拆分

垂直拆分:根據業務進行拆分,比如可以將一張表中的多個字段拆成兩張表,一張是不經常更改的,一張是經常改的。

水平拆分:即根據表來進行分割:比如user表可以拆分為user0,、user1、user2、user3、user4等

2、分庫分表之后如何實現聯合查詢?

可以使用第三方中間件來實現,比如:mycat、shading-jdbc

原理解析:

當客戶端發送一條sql查詢:select * from user;此時中間件會根據有幾個子表,拆分成多個語句:select * from user1;select * from user2;select * from user3等多條語句查詢,然后將查詢的結果返回給中間件,然后匯總給客戶端。這些語句是並發執行的,所以效率會很高哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM