Tôi đang sử dụng MySql để lưu trữ một bảng cơ bản có định dạng này:
id int(11) //Auto-Incrementing ID
data varchar(5120) //Random input data, compressed by a program, not mysql.
-----------------------
Row size ø 916 B
Điều đó thật rắc rối, bởi vì hiện tại tôi có khoảng 5.000 hồ sơ mỗi tháng và tôi muốn tối ưu hóa điều đó tốt hơn là kết thúc trung bình ở mức 1mb / 1000 hồ sơ.
Tôi thiết lập nó theo cách này ban đầu bởi vì tôi muốn có thể chụp các bộ lớn hơn, nhưng chúng rất không thường xuyên, như bạn có thể thấy ở đây bằng biểu đồ này:
count n*128 bytes
+-------+----------
1 28
1 26
1 24
2 22
8 21
4 20
13 19
12 18
16 17
27 16
43 15
58 14
69 13
114 12
184 11
262 10
399 9
588 8
807 7
1224 6
1245 5
546 4
73 3
9 2
6 1
1 0
Mối quan tâm chính của tôi ở đây là tôi đã lãng phí bao nhiêu không gian chỉ để chứa phần đuôi của biểu đồ đó, và điều gì xảy ra khi tôi kết thúc với các ngoại lệ thậm chí còn lớn hơn? Tôi sẽ phải tăng kích thước hàng của mình một lần nữa, khi khoảng 80% dữ liệu vừa khít với khối varar 1024, 1/5 kích thước của những gì tôi đang sử dụng.
Vì vậy, làm thế nào tôi nên xây dựng điều này ở nơi đầu tiên?