Mysql的水平分表與垂直分表的講解
在我上一篇文章中說(shuō)過(guò),mysql語(yǔ)句的優(yōu)化有局限性,mysql語(yǔ)句的優(yōu)化都是圍繞著索引去優(yōu)化的,那么如果mysql中的索引也解決不了海量數(shù)據(jù)查詢(xún)慢的狀況,那么有了水平分表與垂直分表的出現(xiàn)(我就是記錄一下自己的理解)
水平分表:
如上圖所示:另外三張表表結(jié)構(gòu)是一樣的 只不過(guò)把數(shù)據(jù)進(jìn)行分別存放在這三張表中,如果要insert 或者query 那么都需要對(duì)id進(jìn)行取余 然后table名進(jìn)行拼接,那么就是一張完整的table_name
但是如果我需要對(duì)name進(jìn)行分表呢 或者對(duì)email呢?
那么就需要用MD5進(jìn)行加密 因?yàn)镸D5加密后是16進(jìn)制 那么就就可以進(jìn)行取余,思路同上。
垂直分表:
為什么需要進(jìn)行垂直分表?
因?yàn)槿绻粡埍碇?有一個(gè)大字段 而且并不是必須要展示的或者不是當(dāng)前需要用的 那么雖然沒(méi)有刻意去查詢(xún) 但是在根據(jù)id或者其他索引進(jìn)行查詢(xún)的時(shí)候就會(huì)把大字段一起查出來(lái),會(huì)嚴(yán)重影響查詢(xún)的性能,所以才有的垂直分表
詳細(xì)請(qǐng)看下圖:
以上就是水平分表和垂直分表的一種思路,水平有限 不足之處 請(qǐng)指出 謝謝
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- MySQL存儲(chǔ)文本和圖片的方法
- Ubuntu上mysql的安裝及使用(通用版)
- nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑
- Mysql如何適當(dāng)?shù)奶砑铀饕榻B
- 阿里云esc服務(wù)器Docker部署單節(jié)點(diǎn)Mysql的講解
- MySQL存儲(chǔ)引擎MyISAM與InnoDB區(qū)別總結(jié)整理
- Mysql忘記密碼的幾種解決方案
- Tomcat+Mysql高并發(fā)配置優(yōu)化講解
- 為什么MySQL數(shù)據(jù)庫(kù)索引選擇使用B+樹(shù)?
- 將圖片儲(chǔ)存在MySQL數(shù)據(jù)庫(kù)中的幾種方法
相關(guān)文章
關(guān)于MySQL外鍵的簡(jiǎn)單學(xué)習(xí)教程
這篇文章主要介紹了關(guān)于MySQL外鍵的簡(jiǎn)單學(xué)習(xí)教程,對(duì)InnoDB引擎下的外鍵約束做了簡(jiǎn)潔的講解,需要的朋友可以參考下2015-11-11Navicat連接MySQL提示1045錯(cuò)誤解決(重置MySQL密碼)
連接MySQL數(shù)據(jù)庫(kù)時(shí)難免會(huì)遇到1045錯(cuò)誤,主要是因?yàn)橛脩?hù)輸入的用戶(hù)名或密碼錯(cuò)誤被拒絕訪問(wèn),如果不想重裝,需要找回密碼或者重置密碼,這篇文章主要給大家介紹了關(guān)于Navicat連接MySQL提示1045錯(cuò)誤解決的方法,主要是重置MySQL密碼,需要的朋友可以參考下2023-04-04mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹,它們分別是讀寫(xiě)分離、垂直分區(qū)、水平分區(qū),本文分別對(duì)它們做了講解,需要的朋友可以參考下2014-07-07MySQL遠(yuǎn)程無(wú)法連接的一些常見(jiàn)原因總結(jié)
有的小伙伴發(fā)現(xiàn)自己的mysql無(wú)法正常連接遠(yuǎn)程服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于MySQL遠(yuǎn)程無(wú)法連接的一些常見(jiàn)原因,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09SQL常見(jiàn)函數(shù)整理之Format將日期、時(shí)間和數(shù)字值格式化
最近項(xiàng)目總是寫(xiě)sql查詢(xún)時(shí)間,數(shù)據(jù)庫(kù)存的時(shí)間有各種格式,下面這篇文章主要給大家介紹了關(guān)于SQL常見(jiàn)函數(shù)整理之Format將日期、時(shí)間和數(shù)字值格式化的相關(guān)資料,需要的朋友可以參考下2024-01-01mysql啟動(dòng)時(shí)報(bào)錯(cuò):error while loading shared li
這篇文章主要給大家介紹了解決mysql啟動(dòng)時(shí)報(bào)錯(cuò):error while loading shared libraries: libncurses.so.5: cannot open shared object file的方法,需要的朋友可以參考下2023-08-08將MySQL help contents的內(nèi)容有層次的輸出方法推薦
如何將MySQL help contents的內(nèi)容有層次的輸出呢?下面小編就為大家?guī)?lái)一篇將MySQL help contents的內(nèi)容有層次的輸出方法推薦。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,給大家一個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-03-03