2011-09-06 47 views
6

Tôi có một cơ sở dữ liệu ứng dụng có bảng cho người dùng (1kbyte dữ liệu cho mỗi người dùng dựa trên các trường đếm * typelength) và khoảng 100 thứ có cùng kích thước thuộc về người dùng (0,5 kbyte cho mỗi thứ), và nó nằm trong bảng "người dùng" và bảng "điều".Ước tính kích thước cơ sở dữ liệu MySQL

Điều đó dường như dẫn đến khoảng 51kbyte dữ liệu cho mỗi người dùng. Tuy nhiên, tôi đã nghe nói rằng đối với MySQL, tôi nên tăng gấp đôi nó để trang trải các bảng chỉ mục, điều đó sẽ đưa tôi đến 102kbytes/người dùng Điều đó có đúng không? Có bất kỳ yếu tố mở rộng dữ liệu nào khác để xem xét cho MySQL hay 102 kbytes một ước tính tốt không?

Bên cạnh yếu tố lập chỉ mục (mà tôi nghĩ là 2) và hiệu quả lưu trữ (mà tôi cũng nghĩ là 2), có bất kỳ hệ số lưu trữ dữ liệu nào khác trong MySQL không?

+0

Bạn đang sử dụng công cụ cơ sở dữ liệu nào? Bạn có muốn số hoặc ước tính thực tế không? Bạn có thể sử dụng TABLE STATUS để nhận kích thước thực tế của mỗi bảng tính theo byte. Bạn có thể ngoại suy từ đó và nhận ước tính thực tế về các con số. –

+0

Tôi đang sử dụng innodb để lưu trữ. –

+0

http://dev.mysql.com/doc/refman/5.0/en/innodb-disk-management.html thảo luận về việc sử dụng đĩa InnoDB ở một mức độ nào đó, nhưng không biết mục đích của bạn, tôi không chắc cách tính toán tốt nhất hoặc ước tính mức sử dụng đĩa. –

Trả lời

2

Câu trả lời ngắn
Kích thước tăng 2-3x trên MyISAM là phổ biến, 4x là hiếm.

Tất cả mọi thứ về động cơ InnoDB:
http://dev.mysql.com/doc/refman/5.1/en/innodb-storage-engine.html

InnoDB, MyISAM và không gian đĩa:
http://mysqlha.blogspot.com/2009/01/innodb-myisam-and-disk-space_16.html

MySQL động cơ sử dụng không gian so sánh:
Part1: http://marksverbiage.blogspot.com/2008/02/mysql-engines-and-space-usage.html
Part2: http://marksverbiage.blogspot.com/2008/04/mysql-engines-space-usage-comparison.html

Đây là cấu trúc hàng vật lý :
http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-record.html

Có rất nhiều các biến và các vấn đề:

  • Indexes, nhớ InnoDB bao gồm PK trong mỗi chỉ số thứ yếu.
  • Bạn có đóng gói các phím (chậm) không?
  • Bảng có dư thừa không?
  • Đừng quên các bản ghi (nhật ký nhị phân, nhật ký truy vấn chậm, nhật ký lỗi ....)
  • Các hàng được khai báo là không có giá trị, nếu có thêm một byte phụ cho mỗi cột có thể có.
  • Bạn đang sử dụng bộ ký tự nào?
Các vấn đề liên quan