国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

MySQL單一表突破4G限制的方法

發(fā)布時(shí)間:  2012/7/27 17:49:06
-
問題:在論壇發(fā)表回復(fù)時(shí)出現(xiàn)“The table is full”的提示,字面意義上是數(shù)據(jù)表已滿的意思。因?yàn)楹苌儆虚_發(fā)者遭遇單一表超過(guò)4G的情況,因此朋友間的討論只能提供一些外圍的信息。為解決此問題,我翻閱了很多資料,本文將以我此次問題的解決過(guò)程,介紹問題發(fā)生的原因及對(duì)策。

根據(jù)經(jīng)驗(yàn),The table is full提示往往出現(xiàn)在以下兩種情況:

1. 表中設(shè)置了MAX_ROWS值,簡(jiǎn)單的說(shuō),若MAX_ROWS設(shè)置為100,而程序試圖寫入第101條記錄,會(huì)出現(xiàn)此錯(cuò)誤。

2. 表滿。這種情況是本文討論的重點(diǎn)


我們認(rèn)為MySQL在存取表的時(shí)候,存在一種定位分配規(guī)律。這個(gè)規(guī)律在默認(rèn)的情況下,可以尋址4G以內(nèi)的數(shù)據(jù)。超過(guò)這個(gè)大小,數(shù)據(jù)庫(kù)將不能對(duì)數(shù)據(jù)定位,因而也無(wú)法進(jìn)行讀寫。經(jīng)過(guò)實(shí)驗(yàn),這個(gè)限制是完全可以被突破的。

本例中,用戶的系統(tǒng)環(huán)境為雙Athlon處理器、SCSI硬盤72G、2G內(nèi)存,用戶的帖子表數(shù)據(jù)尺寸為4294963640,接近4G(4G的實(shí)際字節(jié)數(shù)為4294967296)。


首先SSH登錄后,查看用戶的系統(tǒng)信息:


# uname -a

Linux zichen.com 2.4.20-8smp #1 SMP Thu Mar 13 16:43:01 EST 2003 i686 athlon i386 GNU/Linux


證明是Linux系統(tǒng),根據(jù)內(nèi)核版本2.4.20-8smp,加上國(guó)內(nèi)使用的常見系統(tǒng),估計(jì)應(yīng)該是redhat 9發(fā)行包。


# cat /etc/*release*

Red Hat Linux release 9 (Shrike)


這也證明了我們對(duì)系統(tǒng)版本的猜想。


然后看一下用的是什么文件系統(tǒng)。因?yàn)樵撚脩舨⒎歉呤郑烙?jì)在裝系統(tǒng)的時(shí)候就是一路回車下來(lái),redhat 9默認(rèn)的應(yīng)該是EXT3,不過(guò)我們還是看一下:


# parted

GNU Parted 1.6.3

Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.

This program is free software, covered by the GNU General Public License.


This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.


Using /dev/sda

Information: The operating system thinks the geometry on /dev/sda is 8942/255/63. Therefore, cylinder 1024 ends at 8032.499M.

(parted) print

Disk geometry for /dev/sda: 0.000-70149.507 megabytes

Disk label type: msdos

Minor Start End Type Filesystem Flags

1 0.031 101.975 primary ext3 boot

2 101.975 10103.378 primary linux-swap


證明確實(shí)是這樣子。隨后我們翻閱了EXT3文件系統(tǒng)的相關(guān)技術(shù)參數(shù),EXT3是在EXT2基礎(chǔ)上演變而來(lái)。EXT2所支持最大單一文件長(zhǎng)度是2G,這個(gè)是很蹩腳的一個(gè)限制。EXT3做的很大一個(gè)改善就是將這個(gè)限制放大到了2TB,由此稍松一口氣,起碼不是操作系統(tǒng)上的限制。


經(jīng)過(guò)朋友的開導(dǎo),了解到單一文件大小有如下幾個(gè)因素:

1. 文件系統(tǒng)的限制(如剛存所說(shuō)EXT3的2TB限制)

2. 某一程序進(jìn)程所能存取的第一文件最大尺寸(例如apache在Linux EXT3下能存取的最大尺寸為2G,諸如日志)


初步判斷瓶頸就在上述其中第二項(xiàng)。隨后找到myisamchk來(lái)顯示一下表信息,證明了瓶頸就在MySQL本身的存取上。


# myisamchk -dv cdb_posts


結(jié)果就不貼了,其中有一項(xiàng)Max datafile length的值恰好就是4G。由此產(chǎn)生了瓶頸。

后來(lái)翻閱了N多資料,進(jìn)行了N多嘗試,也走了不少?gòu)澛罚罱K覺得還是官方文檔比較可靠。比較老的文檔里寫道這是由于tmp_table_size的值造成的,也有提到用BIG-TABLES這個(gè)參數(shù)。事實(shí)證明這些都是歧途。大晚上的確實(shí)很累,這里只給出最終的解決方案吧,中間的就不羅嗦了。


進(jìn)到mysql客戶端。

# mysql -uroot -p

Enter password: ******

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 59411 to server version: 4.0.18-standard


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql> use ******

Database changed

mysql> ALTER TABLE cdb_posts MAX_ROWS=1000000000 AVG_ROW_LENGTH=15000;


因?yàn)檫@個(gè)表非常大,執(zhí)行時(shí)間在雙Athlon的專業(yè)服務(wù)器上竟然花了30分鐘!

之后再通過(guò)myisamchk查看該表的信息:

# myisamchk -dv cdb_posts

MyISAM file: cdb_posts

Record format: Packed

Character set: latin1 (8)

File-version: 1

Creation time: 2004-08-30 22:19:48

Recover time: 2004-08-30 22:42:47

Status: open,changed

Auto increment key: 1 Last value: 1063143

Data records: 619904 Deleted blocks: 5

Datafile parts: 619909 Deleted data: 323872

Datafile pointer (bytes): 6 Keyfile pointer (bytes): 4

Datafile length: 4295287332 Keyfile length: 40421376

Max datafile length: 281474976710654 Max keyfile length: 4398046510079

Recordlength: 149


table description:

Key Start Len Index Type Rec/key Root Blocksize

1 1 4 unique unsigned long 1 4535296 1024

2 5 2 multip. unsigned short 13776 12540928 1024

3 111 4 multip. unsigned long 1 18854912 1024

4 28 3 multip. uint24 18 24546304 1024

5 7 3 multip. uint24 7 32827392 1024

111 4 unsigned long 1

6 7 3 multip. uint24 7 40418304 1024

28 3 uint24


令人振奮的事情發(fā)生了,該表的 Max datafile length: 281474976710654 Max keyfile length: 4398046510079,即最大數(shù)據(jù)尺寸(MYD文件)達(dá)到了2TB,最大索引尺寸(MYI)仍然為4G。

由此默認(rèn)的4G限制被突破了。關(guān)于其中的原理,其實(shí)很簡(jiǎn)單:假設(shè)你有一個(gè)日記本,上面有10頁(yè)紙可以寫東西,編排目錄只需要1個(gè)字節(jié)(因?yàn)?~9就夠了)。如果你把這本子又塞進(jìn)兩張紙,變成12頁(yè),1個(gè)字節(jié)的目錄空間就無(wú)法尋址到后面的兩頁(yè)中,進(jìn)而產(chǎn)生了錯(cuò)誤。上面那個(gè)ALTER語(yǔ)句中的數(shù)值都是我為保證成功,取的比較大的值(因?yàn)锳LTER一次實(shí)在是太慢了,沒時(shí)間在那亂試驗(yàn)),相當(dāng)于告訴數(shù)據(jù)庫(kù),這個(gè)本子有1000000000頁(yè),每頁(yè)平均有15000個(gè)字節(jié)。這樣數(shù)據(jù)庫(kù)便知道這是很大的一個(gè)本子,因此不遺余力的拿出了100頁(yè)(假設(shè)說(shuō))做目錄編排,這樣這個(gè)新的目錄就可以尋址到日記本的所有內(nèi)容了。錯(cuò)誤消失。


惟一的缺點(diǎn)就是,目錄占用的空間多了一些,但已經(jīng)微乎其微了,做了這種改變其實(shí)4G的文件尺寸大小只增大了1M多,非常令人振奮。
本文出自:億恩科技【www.czbl888.cn】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線

     
     
    国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂
    国产精品-区区久久久狼| 日本五级黄色片| 欧美 日韩 激情| 一级黄色香蕉视频| 在线免费观看av网| 男人天堂av片| 中文字幕免费高| 美女av免费在线观看| 人人干人人视频| www.玖玖玖| 免费在线观看亚洲视频| 免费毛片网站在线观看| 不卡中文字幕在线观看| 国产美女在线一区| 日本超碰在线观看| 被灌满精子的波多野结衣| 大桥未久一区二区| 九九九九免费视频| 加勒比成人在线| 久久99久久久久久| 国产精品成人久久电影| 真人抽搐一进一出视频| 国产成a人亚洲精v品在线观看| 午夜久久久久久久久久久| 红桃av在线播放| 免费国产a级片| 青青视频在线播放| 成人久久久久久久久| 成人精品视频一区二区| 黄色一级片在线看| 水蜜桃色314在线观看| 欧美狂野激情性xxxx在线观| 欧美黄色免费网址| www.五月天色| 国产精欧美一区二区三区白种人| 天天色综合社区| www.日本在线播放| 欧美 日韩 国产在线观看| 日韩avxxx| 亚洲欧美另类动漫| 免费av不卡在线| 日本一二三区在线| 精品久久久噜噜噜噜久久图片| 国产成人精品无码播放| 国产三级三级三级看三级| 亚洲欧美aaa| 青青草免费在线视频观看| 日韩欧美视频免费在线观看| 三级av免费看| 青草全福视在线| 国产欧美日韩网站| 韩国视频一区二区三区| 人妻精品无码一区二区三区 | 97国产精东麻豆人妻电影| 日韩在线第三页| 国产精品99久久久久久大便| 霍思燕三级露全乳照| 国产区二区三区| 久久久久久久久久久久久国产| 国产黄视频在线| 男生操女生视频在线观看 | 久久久久久久9| 国产三区在线视频| 一级黄色高清视频| 久久久性生活视频| 国产wwwxx| www国产无套内射com| 99福利在线观看| 三年中文高清在线观看第6集| 国产无限制自拍| 加勒比av中文字幕| 日韩欧美国产综合在线| 亚洲人视频在线| 国产毛片视频网站| 视色视频在线观看| 91专区在线观看| 三年中文高清在线观看第6集| 免费国产黄色网址| 182午夜视频| 日韩欧美国产免费| www.日本久久| 18岁视频在线观看| 538任你躁在线精品免费| 久久福利一区二区| 小泽玛利亚视频在线观看| 国产成人永久免费视频| 色啦啦av综合| 日本成年人网址| 韩国无码av片在线观看网站| 免费看污黄网站| 成人在线观看你懂的| 天堂av手机在线| 日本一极黄色片| 午夜免费福利小电影| 午夜在线视频免费观看| 爱情岛论坛成人| 黄色片视频在线免费观看| 免费的av在线| 超碰在线超碰在线| 亚洲国产日韩欧美在线观看| 欧美 日韩 国产在线观看| 男人天堂新网址| 久久av喷吹av高潮av| 国产成年人视频网站| 人妻丰满熟妇av无码区app| 女人天堂av手机在线| 成人免费在线网| 精品国产一区二区三区无码| 麻豆中文字幕在线观看| 久国产精品视频| 香蕉视频999| 美女一区二区三区视频| 白嫩少妇丰满一区二区| 毛片在线视频播放| 日韩 欧美 视频| 国产精品视频一二三四区| 日本不卡一区二区三区四区| 天堂av8在线| 五月天开心婷婷| 亚洲激情在线看| www.com黄色片| 男女视频在线看| 精品亚洲一区二区三区四区| 欧美成人黄色网址| 亚洲激情在线观看视频| 欧美自拍小视频| 无需播放器的av| 亚洲欧美在线精品| 福利片一区二区三区| 日韩av一卡二卡三卡| 毛片毛片毛片毛片毛| 精品久久免费观看| 精品一区二区三区毛片| 黑人巨大国产9丨视频| 超碰超碰超碰超碰超碰| av 日韩 人妻 黑人 综合 无码| 奇米777四色影视在线看| 免费看毛片的网址| www国产黄色| 簧片在线免费看| 91亚洲精品久久久蜜桃借种| 超碰中文字幕在线观看| 国产香蕉一区二区三区| 欧美在线观看黄| 鲁一鲁一鲁一鲁一色| 黄色高清无遮挡| 一女二男3p波多野结衣| 天天看片天天操| 超碰97在线看| 91成人在线观看喷潮教学| 熟妇人妻va精品中文字幕 | 在线观看av的网址| 欧美,日韩,国产在线| 国产第一页视频| 狠狠干狠狠操视频| 加勒比海盗1在线观看免费国语版| 欧美亚洲黄色片| 免费黄色特级片| 天天做天天干天天操| 日产精品久久久久久久蜜臀| 男女超爽视频免费播放| 国产一级片黄色| 免费观看黄色大片| 欧美二区在线视频| 冲田杏梨av在线| 四虎永久免费网站| 国产精品333| 亚洲高清在线不卡| 欧美大片在线播放| 小明看看成人免费视频| 成年女人18级毛片毛片免费| 精品久久久久久无码国产| 国产四区在线观看| 国产精品亚洲αv天堂无码| 免费精品99久久国产综合精品应用| 99久re热视频精品98| 欧美v在线观看| 免费不卡av网站| 成人羞羞国产免费网站| 天天综合五月天| 黄色国产小视频| 18禁裸男晨勃露j毛免费观看 | 国产熟女高潮视频| 经典三级在线视频| 色婷婷综合在线观看| 国产成人精品视频免费看| 欧美一级小视频| 黄色片视频在线免费观看| 熟女熟妇伦久久影院毛片一区二区| 干日本少妇首页| 国产 国语对白 露脸| xx欧美撒尿嘘撒尿xx| 我的公把我弄高潮了视频| 9999在线观看| 国产又大又黄又粗又爽| 国产h视频在线播放| 91精品一区二区三区四区| 国产美女18xxxx免费视频| 欧美黄网站在线观看| 97超碰国产精品|