มีคำถามมาประมาณว่า Mysql บน Host ใน หนึ่งตารางเก็บข้อมูลได้สูงสุดกี่แถว max rows table size
ก่อนตอบต้องคำความเข้าใจก่อนว่า ใน Mysql จะเก็บข้อมูลไว้ในไฟล์ เช่น ตารางของเราชื่อ tablename ข้อมูลจริงๆ ใน Mysql ของเราก็จะถูกเก็บไว้ที่ tablename.MYD ทีนี้กลับมาสู่คำถาม ว่าได้มาสุดกี่ rowsคำตอบก็ขึ้นอยู่กับตารางที่สร้างนั้นใช้ Storage Engines เป็นอะไร และรูปบนรูปแบบ file system อะไร เพราะส่วนใหญ่ข้อมูลจะไป limit อยู่ที่ปริมาณข้อมูล ไม่ใช่จำนวนแถง ( rows ) หรือ ชนิดของตาราง ถ้า พิจารณาเฉพาะ
Storage Engines
- innodb เก็บได้ไม่จำกัด แต่จะติด limit ที่ขนาดของตาราง
*** ถ้า innodb ไม่จำกัด row *** แต่ 1 ตาราง
ถ้าใช้ OS เป็น
Win32 w/ FAT/FAT32 2GB/4GB
Win32 w/ NTFS 2TB
Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)
Linux 2.4+ (using ext3 file system) 4TB
Solaris 9/10 16TB
MacOS X w/ HFS+ 2TB
NetWare w/NSS file system 8TB
โดยที่ 1T=1,000GB นะครับ
- MyISAM สำหรับใน Mysql 5
ลองหาเลขกลมๆ กันครับ ผมยกตัวอย่างที่คิดว่า สร้างตารางแล้วจะใส่ row ได้เยอะที่สุด คิดว่าน่าจะเป็น bigint ถ้าเราสร้างตาราง มี field เดียว คือ filed a กำหนดชนิดเป็น bigint 255
CREATE TABLE `a` (
`a` bigint(255) NOT NULL
) ENGINE=MyISAM
จะเก็บข้อมูลได้ 2533274790395903 นับเอาเองนะครับ ง่ะๆ :-D
และถ้าท่านอยากรู้ว่า ตารางของท่านที่สร้างไว้แล้ว จะเก็บ ได้กี่แถว สามารถใช้คำสั่ง
SHOW TABLE STATUS
และให้ดูที่ Max_data_length ของ table ที่เราสนใจ