a毛片毛费观看-a毛片在线-a毛片在线观看-a毛片在线免费观看-国产成人综合洲欧美在线-国产成人综合高清在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

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

發布時間:  2012/7/27 17:49:06
-
問題:在論壇發表回復時出現“The table is full”的提示,字面意義上是數據表已滿的意思。因為很少有開發者遭遇單一表超過4G的情況,因此朋友間的討論只能提供一些外圍的信息。為解決此問題,我翻閱了很多資料,本文將以我此次問題的解決過程,介紹問題發生的原因及對策。

根據經驗,The table is full提示往往出現在以下兩種情況:

1. 表中設置了MAX_ROWS值,簡單的說,若MAX_ROWS設置為100,而程序試圖寫入第101條記錄,會出現此錯誤。

2. 表滿。這種情況是本文討論的重點


我們認為MySQL在存取表的時候,存在一種定位分配規律。這個規律在默認的情況下,可以尋址4G以內的數據。超過這個大小,數據庫將不能對數據定位,因而也無法進行讀寫。經過實驗,這個限制是完全可以被突破的。

本例中,用戶的系統環境為雙Athlon處理器、SCSI硬盤72G、2G內存,用戶的帖子表數據尺寸為4294963640,接近4G(4G的實際字節數為4294967296)。


首先SSH登錄后,查看用戶的系統信息:


# 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系統,根據內核版本2.4.20-8smp,加上國內使用的常見系統,估計應該是redhat 9發行包。


# cat /etc/*release*

Red Hat Linux release 9 (Shrike)


這也證明了我們對系統版本的猜想。


然后看一下用的是什么文件系統。因為該用戶并非高手,估計在裝系統的時候就是一路回車下來,redhat 9默認的應該是EXT3,不過我們還是看一下:


# 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


證明確實是這樣子。隨后我們翻閱了EXT3文件系統的相關技術參數,EXT3是在EXT2基礎上演變而來。EXT2所支持最大單一文件長度是2G,這個是很蹩腳的一個限制。EXT3做的很大一個改善就是將這個限制放大到了2TB,由此稍松一口氣,起碼不是操作系統上的限制。


經過朋友的開導,了解到單一文件大小有如下幾個因素:

1. 文件系統的限制(如剛存所說EXT3的2TB限制)

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


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


# myisamchk -dv cdb_posts


結果就不貼了,其中有一項Max datafile length的值恰好就是4G。由此產生了瓶頸。

后來翻閱了N多資料,進行了N多嘗試,也走了不少彎路,最終覺得還是官方文檔比較可靠。比較老的文檔里寫道這是由于tmp_table_size的值造成的,也有提到用BIG-TABLES這個參數。事實證明這些都是歧途。大晚上的確實很累,這里只給出最終的解決方案吧,中間的就不羅嗦了。


進到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;


因為這個表非常大,執行時間在雙Athlon的專業服務器上竟然花了30分鐘!

之后再通過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


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

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


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

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

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

    0371-60135900
    7*24小時客服服務熱線

     
     
    欧美精品一区二区| 人人妻人人爽人人澡欧美二区| WWW国产精品人妻一二三区| 性饥渴老妇XXXⅩOOO| 女班长给我看她小积积作文| 国产亚AV手机在线观看| AAA少妇高潮大片免费看| 亚洲AV色先锋资源电影网站| 全棵女性艺术写真| 久99久热爱视频精品免费37| 顶级大但人文艺术视频 音乐| 一本大道香蕉久中文在线播放| 台湾无码AV一区二区三区| 免费无码午夜福利片| 国产人成亚洲综合无码AⅤ蜜桃| FREEZEFRAME丰满老妇| 亚洲成AV人片天堂网久久| 日产乱码一二三区别免费影视| 久久久久亚洲AV无码专区导航 | 国产V亚洲V天堂A无码久久蜜桃| 又粗又大又硬又爽的少妇毛片| 婷婷色香五月综合激激情| 内射极品少妇一区二区av| 韩国V欧美V亚洲V日本| 波多野无码中文字幕AV专区| 野花香在线视频免费观看第一集 | 在线日产精品一区| 午夜精品久久久久9999高清| 欧美性爱小说网站| 久久99精品久久久久免费| 丰满少妇又爽又紧又丰满在线观看| 中国内地毛片免费高清| 亚洲AV成人永久无在线观看 | 国产一区在线观看二区| 成AV人电影在线观看| 曰本伦理漂亮妈妈| 亚洲AV成人精品日韩一区麻豆| 日本边添边摸边做边爱边| 久久水蜜桃网国产欧美H版护士| 国产精品久久久久久TV| YY111111少妇影院| 亚洲一线产区二线产区区别| 天堂…中文在线最新版在线| 欧美乱妇高清无乱码免费| 久久99精品国产99久久6男男| 国产粉嫩嫩00在线正在播放| AV怡红院一区二区三区| 亚洲熟妇色XXXXX高潮喷水| 无码成人黄动漫在线观看| 欧美一区二区在线视频| 久久久久久久精品免费老鸭窝| 国产精品无卡毛片视频| 宝宝锕~进去就不痛了在线观看| 野花香视频在线观看社区| 西西人体大胆WWW444| 日产亚洲一卡2卡3卡4卡网站 | 欧美日韩久久中文字幕| 久久精品国产亚洲不AV麻豆| 国产精品亚洲片在线| 超碰CAO已满18进入| 18SCHOOL第一次破苞摘花| 亚洲欧美偷拍另类A∨色屁股| 翁熄小莹女博士高潮连连| 全部AV―极品视觉盛宴| 乱码人妻Av一区二区三区| 饥渴的少妇2中文字幕| 国产精品JIZZ视频| 差差差很疼视频30分钟无掩盖 | JAPANESEⅩⅩⅩHD69| 伊人精品成人久久综合| 亚洲AV无码一区二区乱子伦| 少妇无码AV无码专区线| 欧美性猛交XXXX免费看| 开心亚洲五月丁香五月| 狠狠97人人婷婷五月| 国产精品久久久久不卡无毒| 宝贝你夹得太紧了我都要断了| 中文字日产幕码三区的做法步| 亚洲男人的天堂在线播放| 无码专区天天躁天天躁在线| 日韩精品专区AV无码| 欧美操逼视频网站| 久久亚洲精品无码AV红樱桃| 黑人巨大高潮喷水AV| 国产精品另类激情久久久免费| 波多野无码中文字幕AV专区 | 蜜臀色欲AV在线播放国产日韩| 久久97久久精品免费观看黑人| 国产午夜成人无码一区二区| 绯色AV一区二区三区在线高清 | 成熟交BGMBGMBGM日本| H无码精品动漫在线观看导航| 中国蓝CHINABLUE| 亚洲日本中文字幕乱码在线| 亚洲AV区无码字幕中文色| 天美传媒自制剧免费观看| 日出水了好深好涨| 琴乳液狂飙却被空吸入口中| 男生把小j放进女人屁股视频狂躁| 久久青草亚洲AV无码麻豆| 精品国产国偷自产在线观看| 国产午夜亚洲精品理论片八戒| 国产成人AV免费观看| 成人无号精品一区二区三区| CHINA丰满人妻VIDEOS| 中文字幕无码专区人妻系列| 夜夜高潮夜夜爽高清视频一| 亚洲国产精品久久久久制服| 亚洲AV成人无码精品网站色欲| 婷婷人人爽人人爽人人片| 色婷婷婷亚洲综合丁香五月| 人妻少妇一区二区三区| 欧美黑人性暴力猛交高清| 免费120秒体验试看5次| 久久亚洲国产成人精品无码区 | 女人18毛片A级毛片视频| 老熟妇高潮一区二区三区| 久久精品国产亚洲AV瑜伽| 精品久久久久久国产潘金莲| 黑人GAY大长雕TUBE| 国产午夜毛片V一区二区三区| 国产精品久久久久久久影院| 国产SUV精品一区二区五| 粉嫩av一区二区三区四区| 成人无码H免费动漫在线观看| 锕锕锕锕锕锕好痛WWW在线观看 | 玩弄丰满熟妇XXXXX性HD| 少妇人妻精品一区二区三区| 日韩一区二区在线视频| 日本熟妇人妻XXXXX| 人人妻人人澡人人爽欧美一区双 | 蜜臀98精品国产免费观看| 久久伊人精品一区二区三区| 久久久久无码精品国产| 久久99精品久久久久久HB| 精品少妇人妻AV免费久久洗澡| 极品尤物被啪到呻吟喷水| 极品JK撕破丝袜自慰喷水| 黑人巨大精品欧美黑寡妇| 国精产品一区二区三区糖心269| 国产亚洲精品无码成人| 国产一区二区三区水蜜桃| 国产在线视频一区二区三区| 国产午夜福利精品一区二区三区| 国产精品一国产AV麻豆| 国产精品美女久久久M| 国产精品成人嫩草影院| 国产精品国产三级国产试看| 国产成人精品A∨一区二区| 国产ZLJZLJZLJZLJ| 国产爆乳美女娇喘呻吟| 国产精成人品日日拍夜夜免费| 国产精品成熟老妇女| 国产精品亚洲综合网熟女| 国产免费久久精品国产传媒| 国产欧美精品一区二区三区四区| 国产肉体XXXX裸体784大胆 | 中文字幕日产乱码国内自| 中文字幕久精品免费视频| 中文字幕热久久久久久久| 中文字幕无码无码专区| 337P粉嫩大胆噜噜噜| 99精品国产在热久久无码| 99久热RE在线精品视频| JULIA绝顶快感高潮在线| 被C哭着爬走又被拉回来挺进H| 成人无码视频在线观看| 疯狂做爰XXXⅩ高潮69短| 国产白嫩护士在线播放| 国产精品天天看天天狠| 国产偷窥真人视频在线观看| 国产做国产爱免费视频| 黑人粗大与亚裔乱P视频| 精品国产一区二区三区AV片 | 亚洲一本到无码AV中文字幕| 野花韩国视频免费高清3| 曰本无码人妻丰满熟妇啪啪| 18级成人毛片免费观看| FREE俄罗斯免费视频| 被公牛日到了高潮| 粉嫩小泬无遮挡久久久久久| 国产成人精品三级麻豆| 国产精品无码电影在线观看| 国精产品W灬源码1688网站| 妓女妓女影院妓女影库妓女网| 久久SE精品一区精品二区国产| 久久中文字幕人妻丝袜系列| 男人躁女人到高潮视频| 人妻系列AV无码专区| 少妇人妻好深太紧了A| 无码人妻一区二区三区免费看| 亚洲AⅤ无码日韩AV无码网站| 亚洲成A人片在线观看无码下载| 亚洲熟妇无码久久精品导航| 永久黄网站色视频免费观看APP | 成人国产精品秘片多多| 国产99久久久国产精品~~牛| 国产激情久久久久影院蜜桃AV| 国产一二三四区乱码免费| 精品无码一区二区三区爱欲|