Tôi đã bảng ví dụ sau ...MySQL 5.1 Phân vùng
mysql> CREATE TABLE part_date3
-> ( c1 int default NULL,
-> c2 varchar(30) default NULL,
-> c3 date default NULL) engine=myisam
-> partition by range (to_days(c3))
-> (PARTITION p0 VALUES LESS THAN (to_days('1995-01-01')),
-> PARTITION p1 VALUES LESS THAN (to_days('1996-01-01')) ,
-> PARTITION p2 VALUES LESS THAN (to_days('1997-01-01')) ,
-> PARTITION p3 VALUES LESS THAN (to_days('1998-01-01')) ,
-> PARTITION p4 VALUES LESS THAN (to_days('1999-01-01')) ,
-> PARTITION p5 VALUES LESS THAN (to_days('2000-01-01')) ,
-> PARTITION p6 VALUES LESS THAN (to_days('2001-01-01')) ,
-> PARTITION p7 VALUES LESS THAN (to_days('2002-01-01')) ,
-> PARTITION p8 VALUES LESS THAN (to_days('2003-01-01')) ,
-> PARTITION p9 VALUES LESS THAN (to_days('2004-01-01')) ,
-> PARTITION p10 VALUES LESS THAN (to_days('2010-01-01')),
-> PARTITION p11 VALUES LESS THAN MAXVALUE);
Query OK, 0 rows affected (0.00 sec)
nói đây là đầy đủ các dữ liệu và tôi muốn khe trong một phân vùng 2011 tại P11 và sau đó làm cho maxvalue p12 là có một cách hiệu quả làm điều này mà không phải bán phá giá và tải lại toàn bộ bảng?
Điều đó hoạt động tốt. Bạn đã tìm thấy phân vùng hoạt động tốt cho bạn chưa? –
Có. Trong MySQL 5.5, tôi có hơn 400 triệu hàng trong một bảng, với hiệu suất khá tuyến tính. Bạn phải cẩn thận trong khi truy vấn các bảng như vậy để đảm bảo rằng có đủ gợi ý trong truy vấn để phân vùng cắt tỉa để hoạt động. – Dojo