精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

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

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

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

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

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

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


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

本例中,用戶的系統(tǒng)環(huán)境為雙Athlon處理器、SCSI硬盤72G、2G內(nèi)存,用戶的帖子表數(shù)據(jù)尺寸為4294963640,接近4G(4G的實際字節(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,加上國內(nèi)使用的常見系統(tǒng),估計應(yīng)該是redhat 9發(fā)行包。


# cat /etc/*release*

Red Hat Linux release 9 (Shrike)


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


然后看一下用的是什么文件系統(tǒng)。因為該用戶并非高手,估計在裝系統(tǒng)的時候就是一路回車下來,redhat 9默認(rèn)的應(yīng)該是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文件系統(tǒng)的相關(guān)技術(shù)參數(shù),EXT3是在EXT2基礎(chǔ)上演變而來。EXT2所支持最大單一文件長度是2G,這個是很蹩腳的一個限制。EXT3做的很大一個改善就是將這個限制放大到了2TB,由此稍松一口氣,起碼不是操作系統(tǒng)上的限制。


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

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

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


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


# myisamchk -dv cdb_posts


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

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


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


因為這個表非常大,執(zhí)行時間在雙Athlon的專業(yè)服務(wù)器上竟然花了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


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

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


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

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

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

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

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    国精品产品一区| 日韩一区二区三区高清在线观看 | 亚洲天堂资源| 国产日韩免费| av综合电影网站| 日韩中文欧美| 高清不卡亚洲| 国内精品福利| 神马日本精品| 欧美精品一区二区三区精品| 免费久久久久久久久| 欧美va天堂在线| 一区二区自拍| 免费在线观看精品| 日韩福利视频导航| 国产精品v日韩精品v欧美精品网站| 日本精品另类| 国产精品久久| 香蕉视频亚洲一级| 亚洲一区二区免费看| 一区二区三区午夜视频| 日韩久久一区| 久久精品三级| 精品国产午夜肉伦伦影院| 91欧美国产| 国产一区视频在线观看免费| 在线一区视频| 91精品国产自产精品男人的天堂 | 奶水喷射视频一区| 婷婷亚洲成人| 精品视频在线一区二区在线| 久久婷婷av| 亚洲精品护士| 男人的天堂久久精品| 好吊日精品视频| 999国产精品视频| 亚洲人成毛片在线播放女女| 国产精品v亚洲精品v日韩精品| 日韩一区二区三区免费播放| 国产精品va视频| 亚洲免费影视| 亚洲一区av| 99精品视频精品精品视频| 亚洲一区不卡| 国产免费av国片精品草莓男男| 97在线精品| 在线观看一区| 美女久久99| 99国产精品99久久久久久粉嫩| 自拍日韩欧美| 国产精品国码视频| 欧美精品一区二区久久| 欧美日本久久| 欧美中文一区二区| 日韩福利视频导航| 久久久久久久久久久9不雅视频| 丝袜美腿亚洲一区| 国产 日韩 欧美 综合 一区| 蜜桃av一区| 久久精品二区亚洲w码| 国产精品免费看| 国产精品成人一区二区不卡| 西西人体一区二区| 丁香婷婷久久| 女人天堂亚洲aⅴ在线观看| 你懂的亚洲视频| 快she精品国产999| 国产成人免费| 日韩高清一区在线| 夜久久久久久| 免费在线观看日韩欧美| 日韩精品一级二级 | 国产成人免费av一区二区午夜| 免费观看久久久4p| 四虎国产精品免费久久| 国产精品片aa在线观看| 精品三级在线| 午夜久久av| 日本美女一区| 久久国产人妖系列| 日韩一级精品| 中文另类视频| 国产激情综合| 四虎精品一区二区免费| 99精品小视频| 麻豆精品蜜桃视频网站| 男女男精品视频网| 精品国模一区二区三区| 久久久久九九精品影院| 日本电影久久久| 亚洲在线网站| 国产中文在线播放| 欧美日韩中出| 日韩视频1区| 西西人体一区二区| 欧美色图国产精品| 久久久久久网| 卡一卡二国产精品| 日本欧美大码aⅴ在线播放| 国产亚洲毛片在线| 久久精品1区| 久久久一本精品| 国语对白精品一区二区| 国产精品久久久久久久免费软件| 欧洲精品一区二区三区| 国产成人精品一区二区免费看京 | 国产一区国产二区国产三区| 成人午夜网址| 黄色亚洲在线| 国产高潮在线| 国产精品久久亚洲不卡| 最新亚洲激情| 精品一区二区三区中文字幕视频| 五月天久久久| 一区二区精品伦理...| 麻豆免费精品视频| 欧美激情福利| 久久99精品久久久野外观看| 日韩av二区在线播放| 欧美精品一线| 国产精品2023| 日本视频一区二区| 亚洲精品少妇| 综合激情婷婷| 日韩一区二区三区精品| 无码日韩精品一区二区免费| 综合一区二区三区| 亚洲bt欧美bt精品777| 亚洲理论在线| 日韩国产欧美在线视频| 国产亚洲字幕| 国产精品多人| 精品国产乱码久久久| 日本不良网站在线观看| 成人综合一区| 91精品一区二区三区综合| 久久精品国产亚洲夜色av网站 | 久久精品一区二区国产| 在线一区av| 136国产福利精品导航网址| 国产精品最新自拍| 国产精品白浆| 国产精品伦理久久久久久| 91精品一区国产高清在线gif| 午夜影院欧美| 日本视频在线一区| 欧美精品aa| 麻豆一区二区三| 麻豆极品一区二区三区| 精品一区二区三区在线观看视频 | 久久精品国内一区二区三区| 亚洲女同av| 在线精品视频在线观看高清| 日韩一区精品视频| 日韩av中文在线观看| 精品视频在线观看网站| 久久国产日韩| 亚洲欧美专区| 88久久精品| 久久中文字幕导航| 欧美午夜精彩| 亚洲精品进入| 精品国产亚洲日本| 亚洲精品国产嫩草在线观看| 日本免费新一区视频| 亚洲视频电影在线| 国产欧美一区| 国产成人调教视频在线观看| 国产精品精品| 三级在线观看一区二区| 久久激情综合网| 国产一区二区三区天码| 久久精品免费一区二区三区 | 国产一区亚洲| 69堂免费精品视频在线播放| 伊人久久亚洲影院| 久久伊人亚洲| 欧美在线不卡| 国产综合亚洲精品一区二| 亚洲狼人精品一区二区三区| 久久精品国产精品亚洲毛片| 婷婷激情久久| 欧美精选一区二区三区| 日韩av福利| 最新亚洲国产| 成人在线视频中文字幕| 亚洲国产成人精品女人| 国产精品一区二区av交换| 久久久一二三| 欧美一级全黄| 亚洲成av人片一区二区密柚| 青青草视频一区| 激情久久久久久| 国产乱码精品一区二区三区亚洲人| 欧美日韩尤物久久| 69堂免费精品视频在线播放| 亚洲福利免费| 青青草伊人久久| 九九综合九九| 精品99在线|