當前位置:首頁 » 網路資訊 » 資料庫怎樣分庫分表
擴展閱讀
yy令牌可以用什麼系統 2025-05-15 07:47:30
在電腦怎樣拷貝到u盤 2025-05-15 07:45:14
雲熙2021版溫7系統可以嗎 2025-05-15 07:34:57

資料庫怎樣分庫分表

發布時間: 2023-04-08 07:04:55

Ⅰ 給小白演示 分庫分表案例

受群里小夥伴之邀,搞一個分庫分表案例,這樣讓很多沒用過分庫分表的心裡也有個底,不然永遠看到的都是網上的各種概念和解決方案性的文章。

由於用戶表過岩兆察於龐大,採取相關SQL優化,還是不能滿足,所以現對其進行做分庫分表。

資料庫: my-sharding

資料庫表: t_user

建表語句如下:

關於資料庫分庫分表通常有兩種方案:

下面我們來演示水平拆分,大致思路:

加入有2000萬條數據,那麼為了方便演示,我們就暫定分為五個庫,每個資料庫對應五個表。

五個資料庫:

每個資料庫有五張表:

建表語句如下:

使用技術棧: JDK8 + MySQL + Spring Boot + Mybatis + Shardingsphere + Druid

maven 相關依賴:

配置文件相關配置如下:

分庫分表的兩個分片類:

下面是業務部分代碼,先看 UserMapper.xml 內容:

UserMapper 介面:

為了更好地演示,我這里加入了 controller 層和 service 層,這也是大家平常開發套路。

service 層代碼如下:

controller層代碼如下:

最後是項目的啟動類:

啟動項目,啟動成功:

下面我們來演示一下新增數據和查詢。

先來添加數據到資料庫中,這里使用的是IDEA中restful工具:

後台日誌:

再查看資料庫表中:

到此,我們的數據依舊落庫,下面我們猜棚來演示一下數據查詢。

瀏覽器里輸入:

返回數據:

後台日誌:

從日誌和返回結果可以看出,已經為我們正確的選擇到對應的資料庫和表了,這樣,一個分庫分表的查詢就成功了。

本文沒有太多的概念,直接使用案例演粗茄示。相關概念性的文章,還有分庫分表解決方案的文章,網上一堆堆的,感興趣可以自行查閱。