Merge引擎是一組MyISAM表的組合,組合的分表結(jié)構(gòu)必須完全相同,Merge表本身沒有數(shù)據(jù),對Merge表的操作實際上都是對子表的操作,只是對APP來說是透明的,在插入的時候默認是插入到最后一張表上,也可以指定插入到第一張表上,Merger表實際上只是多個子表的一個外殼,對它進行刪除,不影響實際存儲的數(shù)據(jù)。
10年積累的做網(wǎng)站、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有阜陽免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
創(chuàng)建子表user1
CREATE TABLE `user1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
創(chuàng)建子表user2
CREATE TABLE `user2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
創(chuàng)建Merge表alluser
CREATE TABLE `alluser` ( `id` int(11) NOT NULL, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`user1`,`user2`);
現(xiàn)在對alluser進行插入數(shù)據(jù)
然后查看user2表的數(shù)據(jù)發(fā)現(xiàn)已經(jīng)插入進去
下一步對子表分表進行插入操作,然后查看alluser表
發(fā)現(xiàn)對子表的插入操作最后都會映射到alluser表中,從一定意義上實現(xiàn)了分表,但是也有局限性,就是數(shù)據(jù)分布不均勻,因為插入的時候不能自定義規(guī)則,只能插入創(chuàng)建時指定的子表,還有就沒有約束條件的檢查,例如在三張表中都設定id為主鍵,我們在user2中插入一條user1中已經(jīng)存在的數(shù)據(jù),但是alluser表并不報錯且成功插入
由于這些原因,Merge引擎實現(xiàn)的分表在實際應用中并不多
名稱欄目:MySQLMerge引擎實現(xiàn)分表
分享URL:http://sd-ha.com/article24/popgje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)網(wǎng)站制作、、建站公司、企業(yè)建站、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)