Giới hạn phân vùng mysql 8
Như chúng ta đã biết mysql và nhiều hệ thống quản trị cơ sở dữ liệu khác, hãy lưu trữ dữ liệu dưới dạng bảng bao gồm các hàng và cột. Mỗi lần truy vấn DB engine phải duyệt qua toàn bộ bảng để lấy dữ liệu, điều này tạo ra vấn đề về hiệu suất khi bản ghi trong bảng quá lớn, vấn đề này sẽ được giải quyết khá đơn giản bằng cách sử dụng phân vùng, nhờ kỹ thuật này . Cùng xem một ví dụ để hiểu rõ hơn về các hoạt động của phân vùng nhé Show Ví dụ: chúng ta có bảng người chưa được tạo phân vùng, và có các trường dữ liệu cụ thể như sau Bảng này khi tạo ra mặc định sẽ được lưu trữ thành 1 đoạn trong hệ thống tệp Khi sử dụng phân vùng, bảng sẽ được phân chia thành nhiều đoạn với khóa mà chúng ta đã định nghĩa. Ví dụ ở đây mình dùng trường tuổi làm key Chúng ta có thể kiểm tra mức độ hiệu quả của phân vùng bằng câu truy vấn đơn giản như sau
Trong trường hợp chưa sử dụng phân vùng thời gian thực thi truy vấn là 0. 00064 giây Với phân vùng thì kết quả khác xác định rõ, thời gian thực thi chỉ còn 0. 0016 giây Do bảng của chúng ta đang có ít dữ liệu nên hiệu quả khó có thể cảm nhận được, tuy nhiên với những cơ sở dữ liệu có hàng triệu bản ghi thì đây thực sự là một giải pháp tuyệt vời. 1. Cách tạo phân vùngTrước khi tạo phân vùng, bạn phải đảm bảo cột mà bạn sử dụng được sử dụng thường xuyên trong các truy vấn, thì việc tạo phân vùng mới thực sự có ý nghĩa Bạn có thể tạo phân vùng bằng cách sử dụng CREATE TABLE hoặc ALTER TABLE
Ví dụ
2. Main partition type
2. 1. phân vùng phạm viPhân vùng theo phạm vi đơn giản là phân vùng theo khoảng mà bạn muốn sử dụng, tức là chia bảng ra nhiều khoảng giá trị, các khoảng giá trị này phải liên tiếp và không chồng chéo lên nhau, ví dụ trong 1 năm bạn có 12 p1. 01-01-2020 đến 31-01-2020 0 để chỉ định phạm vi cần sử dụng. Cùng xem ví dụ sau.
Tại đây, chúng tôi đã tạo ra một bảng 1 cùng với 4 phân vùng được chỉ rõ phạm vi sử dụng, p0 sẽ lưu trữ những bản ghi có 2 < 100. p2 will have 100 <= 2 < 300 Tương tự với các phân vùng còn lại. Bây giờ chúng ta cùng chèn vào bảng này 0and when select them ta cùng xem kết quả 1
2. 2. Phân vùng danh sáchLoại này khác với loại phạm vi một chút là nó không phân chia theo khoảng nữa mà nó bổ sung những phần tử chỉ được tạo thành 1 danh sách, loại này chúng ta sẽ sử dụng từ khóa 4 (list_value) để tạo 5. Lấy ví dụ trên nhưng thêm một chút trong bảng 1 chúng ta có thêm cột mã nhân viên bán hàng là 7 cũng được biết là nhân viên nào đã bán, và ví dụ trong một công ty chúng ta có 10 nhân viên bán hàng, cùng với 3 Ví dụ
Bây giờ cùng tạo bảng bán hàng như sau 6Và như vậy là sau này khi muốn tìm kiếm hệ thống thống kê theo nhóm sẽ nhanh hơn, thống kê nhân viên nào bán được bao nhiêu hàng cũng sẽ nhanh hơn là duyệt toàn bộ bảng 3. Xóa bỏ sự chia cắtNếu trong quá trình vận chuyển hàng hệ thống bạn không cần lượng dữ liệu nào nữa thì có thể xóa đi bằng cách xóa chính phân vùng đã định nghĩa 74. Kết luậnNhư vậy trong bài viết này mình giới thiệu cho các bạn khái niệm, mục đích sử dụng của 8, và 2 loại phân vùng chính hay được sử dụng là 9. Hy vọng đây sẽ là kiến thức bổ sung hữu ích giúp các bạn tối ưu truy vấn trong quá trình làm dự án với những cơ sở dữ liệu lơn. Bài viết có thể còn nhiều thiếu sót , cũng như việc sử dụng từ ngữ 5 và 1 còn lẫn lộn mong các bạn đóng góp và hẹn các bạn trong bài viết sớm nhất khoảng 4 loại 2 còn lại |