新聞中心
Mysql分表技術(shù)是Mysql數(shù)據(jù)庫中的關(guān)鍵技術(shù),下文對Mysql分表的概念及使用作了詳細的介紹,如果您對此感興趣的話,不妨一看。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比大足網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式大足網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大足地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
首先我們需要了解為什么要進行Mysql分表,Mysql分表的好處是什么。我們先來大概了解以下一個數(shù)據(jù)庫執(zhí)行SQL的過程:
接收到SQL --> 放入SQL執(zhí)行隊列 --> 使用分析器分解SQL --> 按照分析結(jié)果進行數(shù)據(jù)的提取或者修改 --> 返回處理結(jié)果
當(dāng)然,這個流程圖不一定正確,這只是我自己主觀意識上這么我認(rèn)為。那么這個處理過程當(dāng)中,最容易出現(xiàn)問題的是什么?就是說,如果前一個SQL沒有執(zhí)行完畢的話,后面的SQL是不會執(zhí)行的,因為為了保證數(shù)據(jù)的完整性,必須對數(shù)據(jù)表文件進行鎖定,包括共享鎖和獨享鎖兩種鎖定。共享鎖是在鎖定的期間,其它線程也可以訪問這個數(shù)據(jù)文件,但是不允許修改操作,相應(yīng)的,獨享鎖就是整個文件就是歸一個線程所有,其它線程無法訪問這個數(shù)據(jù)文件。一般MySQL中最快的存儲引擎MyISAM,它是基于表鎖定的,就是說如果一鎖定的話,那么整個數(shù)據(jù)文件外部都無法訪問,必須等前一個操作完成后,才能接收下一個操作,那么在這個前一個操作沒有執(zhí)行完成,后一個操作等待在隊列里無法執(zhí)行的情況叫做阻塞,一般我們通俗意義上叫做“鎖表”。
鎖表直接導(dǎo)致的后果是什么?就是大量的SQL無法立即執(zhí)行,必須等隊列前面的SQL全部執(zhí)行完畢才能繼續(xù)執(zhí)行。這個無法執(zhí)行的SQL就會導(dǎo)致沒有結(jié)果,或者延遲嚴(yán)重,影響用戶體驗。
特別是對于一些使用比較頻繁的表,比如SNS系統(tǒng)中的用戶信息表、論壇系統(tǒng)中的帖子表等等,都是訪問量大很大的表,為了保證數(shù)據(jù)的快速提取返回給用戶,必須使用一些處理方式來解決這個問題,這個就是我今天要聊到的分表技術(shù)。
Mysql分表技術(shù)顧名思義,就是把若干個存儲相同類型數(shù)據(jù)的表分成幾個表分表存儲,在提取數(shù)據(jù)的時候,不同的用戶訪問不同的表,互不沖突,減少鎖表的幾率。比如,目前保存用戶分表有兩個表,一個是user_1表,還有一個是 user_2 表,兩個表保存了不同的用戶信息,user_1 保存了前10萬的用戶信息,user_2保存了后10萬名用戶的信息,現(xiàn)在如果同時查詢用戶 heiyeluren1 和 heiyeluren2 這個兩個用戶,那么就是Mysql分表從不同的表提取出來,減少鎖表的可能。
當(dāng)前名稱:帶您了解什么是Mysql分表
本文鏈接:http://www.dlmjj.cn/article/djsocos.html


咨詢
建站咨詢
