新聞中心
MySQL如何實(shí)現(xiàn)水平分表?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!
創(chuàng)新互聯(lián)專注于縉云網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供縉云營(yíng)銷型網(wǎng)站建設(shè),縉云網(wǎng)站制作、縉云網(wǎng)頁(yè)設(shè)計(jì)、縉云網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造縉云網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供縉云網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Mysql表數(shù)據(jù)一般達(dá)到百萬(wàn)級(jí)別,查詢效率會(huì)很低,容易造成表鎖,甚至堆積很多連接,直接掛掉;水平分表能夠很大程度減少這些壓力。
水平分表:
如上圖所示:另外三張表表結(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ù)一列或多列數(shù)據(jù)的值把數(shù)據(jù)行放到兩個(gè)獨(dú)立的表中。
水平分割通常在下面的情況下使用。
表很大,分割后可以降低在查詢時(shí)需要讀的數(shù)據(jù)和索引的頁(yè)數(shù),同時(shí)也降低了索引的層數(shù),提高查詢速度。
表中的數(shù)據(jù)本來(lái)就有獨(dú)立性,例如表中分別記錄各個(gè)地區(qū)的數(shù)據(jù)或不同時(shí)期的數(shù)據(jù),特別是有些數(shù)據(jù)常用,而另外一些數(shù)據(jù)不常用。
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)mysql如何實(shí)現(xiàn)水平分表大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:mysql如何實(shí)現(xiàn)水平分表
網(wǎng)頁(yè)路徑:http://www.dlmjj.cn/article/ipsscj.html