SlideShare a Scribd company logo
1 of 15
Download to read offline
Hệ quản trị cơ sở dữ liệu

Partitioning

Dư Phương Hạnh
Bộ môn Hệ thống thông tin
Khoa CNTT, trường Đại học Công nghệ
Đại học Quốc gia Hanoi
hanhdp@vnu.edu.vn
Phân mảnh
 Các phần của bảng được lưu như các bảng riêng
biệt tại các vị trí khác nhau
 Cho phép phân phối các phần của bảng trên hệ
thống file tuân theo các luật được thiết lập.
 Luật phân chia dữ liệu được chọn bởi người dùng
được gọi là hàm phân mảnh (partitioning function)

2

Hệ quản trị CSDL @ BM HTTT
Minh họa

3

Hệ quản trị CSDL @ BM HTTT
Một số ưu điểm của phân mảnh
 Phân mảnh giúp lưu dữ liệu trong một bảng lớn hơn trên một đĩa
hoặc phân vùng hệ thống file
 Dữ liệu không còn hữu ích có thể thường xuyên loại bỏ dễ dàng
bằng cách xóa phân vùng
 Một số truy truy vấn có thể tối ưu nếu dữ liệu thỏa mãn mệnh đề
WHERE được xác định lưu trữ trong một hoặc nhiều phân vùng
 Do các phân vùng có thể sửa đổi sau khi bảng được tạo, có thể tổ
chức lại dữ liệu để nâng cao các truy vấn thường xuyên

4

Hệ quản trị CSDL @ BM HTTT
Các kiểu phân mảnh
 Khoảng (RANGE): gán các dòng vào các phân mảnh dựa vào giá
trị của cột nằm trong một khoảng
 Danh sách (List): tương tự như khoảng, nhưng danh sách là một
tập các giá trị rời rạc
 Băm (HASH): dựa trên giá trị trả lại bởi biểu thức định nghĩa bởi
người dùng (tạo ra giá trị nguyên, không âm)
 Khóa (KEY): tương tự phân mảnh bởi băm, ngoại trừ hàm băm
được cung cấp bởi MySQL server, đảm bảo kết quả trả lại là số
nguyên bất kỳ kiểu dữ liệu của cột. Bất kỳ các cột được sử dụng
như là khóa phân mảnh cần phải là một phần hoặc toàn bộ khóa
chính của bảng

5

Hệ quản trị CSDL @ BM HTTT
Ví dụ
CREATE TABLE members (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY KEY(joined) PARTITIONS 6;

6

Hệ quản trị CSDL @ BM HTTT
Ví dụ
CREATE TABLE members (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY RANGE( YEAR(joined) )(
PARTITION p0 VALUES LESS THAN (1960),
PARTITION p1 VALUES LESS THAN (1970),
PARTITION p2 VALUES LESS THAN (1980),
PARTITION p3 VALUES LESS THAN (1990),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
7

Hệ quản trị CSDL @ BM HTTT
Ví dụ
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT, store_id INT
) PARTITION BY LIST(store_id) (
PARTITION pNorth VALUES IN (3,5,6,9,17),
PARTITION pEast VALUES IN (1,2,10,11,19,20),
PARTITION pWest VALUES IN (4,12,13,14,18),
PARTITION pCentral VALUES IN (7,8,15,16)
);

8

Hệ quản trị CSDL @ BM HTTT
Ví dụ
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT, store_id INT
)
PARTITION BY HASH( YEAR(hired) )
PARTITIONS 4;
9

Hệ quản trị CSDL @ BM HTTT
EXPLAIN PARTITIONS
 Sử dụng EXPLAIN PARTITIONS SELECT để xem
các phân vùng nào được sử dụng trong lệnh
SELECT

10

Hệ quản trị CSDL @ BM HTTT
Quản lý phân mảnh
 MySQL 5.5 hỗ trợ một số cách để sửa đổi các bảng
phân mảnh: thêm, xóa, định nghĩa lại, hòa trộn, tách
các mảnh đã tồn tại sử dụng câu lệnh ALTER
TABLE
– PARTITION BY, ADD PARTITION, DROP PARTITION,
REORGANIZE PARTITION, COALESCE PARTITION

11

Hệ quản trị CSDL @ BM HTTT
Ví dụ
 ALTER TABLE trb3 PARTITION BY KEY(id)
PARTITIONS 2;
 ALTER TABLE tr DROP PARTITION p2;
 ALTER TABLE ADD PARTITION (PARTITION p3
VALUES LESS THAN (2000));

12

Hệ quản trị CSDL @ BM HTTT
Thông tin về các phân mảnh

 SHOW CREATE TABLE
 SHOW TABLE STATUS
 Truy vấn bảng
INFORMATION_SCHEMA.PARTITIONS

13

Hệ quản trị CSDL @ BM HTTT
Giới hạn và hạn chế của phân mảnh
 Thao tác phân mảnh, truy vấn có xu hướng nhanh
hơn với bảng MyISAM so với các bảng InnoDB
 Số lượng phân mảnh lớn nhất cho mỗi bảng là
1024
 Không hỗ trợ khóa ngoài
 Các bảng phân mảnh không hỗ trợ tìm kiếm FULL
TEXT

14

Hệ quản trị CSDL @ BM HTTT
Tài liệu tham khảo
 http://www.mysql.com
 http://dev.mysql.com/doc/refman/5.5/en/
 http://www.learn-mysql-tutorial.com/

15

Hệ quản trị CSDL @ BM HTTT

More Related Content

What's hot

Tạo home folder user profile
Tạo home folder user profileTạo home folder user profile
Tạo home folder user profilelaonap166
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleGuatemala User Group
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Vietnam Open Infrastructure User Group
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVCMasterCode.vn
 
Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012laonap166
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsNirav Shah
 
MariaDB AX: Analytics with MariaDB ColumnStore
MariaDB AX: Analytics with MariaDB ColumnStoreMariaDB AX: Analytics with MariaDB ColumnStore
MariaDB AX: Analytics with MariaDB ColumnStoreMariaDB plc
 
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...Hien Dam
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2tranquanthien
 
Bai 3 thietke_csdlpt
Bai 3 thietke_csdlptBai 3 thietke_csdlpt
Bai 3 thietke_csdlptHồ Lợi
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudTue Nguyen Dinh
 
Trigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerTrigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerNguyễn Phúc
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Oracle Table Partitioning - Introduction
Oracle Table Partitioning  - IntroductionOracle Table Partitioning  - Introduction
Oracle Table Partitioning - IntroductionMyOnlineITCourses
 
SQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceSQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceMark Ginnebaugh
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmNguyễn Anh
 

What's hot (20)

Exadata Backup
Exadata BackupExadata Backup
Exadata Backup
 
Tạo home folder user profile
Tạo home folder user profileTạo home folder user profile
Tạo home folder user profile
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVC
 
Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tips
 
MariaDB AX: Analytics with MariaDB ColumnStore
MariaDB AX: Analytics with MariaDB ColumnStoreMariaDB AX: Analytics with MariaDB ColumnStore
MariaDB AX: Analytics with MariaDB ColumnStore
 
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...
BTL phân tích thiết kế hệ thống- Đề tài quản lý nhập hàng thực phẩm khô tại s...
 
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESSQuản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2
 
Ảo hóa
Ảo hóaẢo hóa
Ảo hóa
 
Bai 3 thietke_csdlpt
Bai 3 thietke_csdlptBai 3 thietke_csdlpt
Bai 3 thietke_csdlpt
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloud
 
Trigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerTrigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL Server
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Oracle Table Partitioning - Introduction
Oracle Table Partitioning  - IntroductionOracle Table Partitioning  - Introduction
Oracle Table Partitioning - Introduction
 
SQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceSQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database Performance
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
 

Viewers also liked

Viewers also liked (20)

2.1 view
2.1 view2.1 view
2.1 view
 
2.2 cac chuong trinh my sql
2.2 cac chuong trinh my sql2.2 cac chuong trinh my sql
2.2 cac chuong trinh my sql
 
01 gioithieu
01 gioithieu01 gioithieu
01 gioithieu
 
8.replication
8.replication8.replication
8.replication
 
C3 2
C3 2C3 2
C3 2
 
2.3 quan ly truy cap
2.3 quan ly truy cap2.3 quan ly truy cap
2.3 quan ly truy cap
 
6.3 my sql queryoptimization_part2
6.3 my sql queryoptimization_part26.3 my sql queryoptimization_part2
6.3 my sql queryoptimization_part2
 
4.2 transaction
4.2 transaction4.2 transaction
4.2 transaction
 
5. indexing
5. indexing5. indexing
5. indexing
 
6.2 my sql queryoptimization_part1
6.2 my sql queryoptimization_part16.2 my sql queryoptimization_part1
6.2 my sql queryoptimization_part1
 
4.2 transaction 2
4.2 transaction 24.2 transaction 2
4.2 transaction 2
 
6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overview
 
7. backup & restore data
7. backup & restore data7. backup & restore data
7. backup & restore data
 
C3 2 (tuan6,7)
C3 2 (tuan6,7)C3 2 (tuan6,7)
C3 2 (tuan6,7)
 
Chuan
ChuanChuan
Chuan
 
Intro to column stores
Intro to column storesIntro to column stores
Intro to column stores
 
C4 1 tuan 14
C4 1 tuan 14C4 1 tuan 14
C4 1 tuan 14
 
C2 2
C2 2C2 2
C2 2
 
C3 1
C3 1C3 1
C3 1
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
 

Similar to 9. partitioning

csdl - buoi7-8-9
csdl - buoi7-8-9csdl - buoi7-8-9
csdl - buoi7-8-9kikihoho
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTMasterCode.vn
 
03-Indexes.pdf
03-Indexes.pdf03-Indexes.pdf
03-Indexes.pdfDngKen1
 
Session 07_Creating and Management DB.ppt
Session 07_Creating and Management DB.pptSession 07_Creating and Management DB.ppt
Session 07_Creating and Management DB.pptChauNguyenThiMinh6
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Hoa Le
 
05 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.001110322505 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.0011103225Yen Dang
 
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)Pix Nhox
 
Bai1 xaydung csdl-access
Bai1 xaydung csdl-accessBai1 xaydung csdl-access
Bai1 xaydung csdl-accessHào Kiệt
 

Similar to 9. partitioning (12)

csdl - buoi7-8-9
csdl - buoi7-8-9csdl - buoi7-8-9
csdl - buoi7-8-9
 
Com201 slide 4
Com201   slide 4Com201   slide 4
Com201 slide 4
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Com201 slide 3
Com201   slide 3Com201   slide 3
Com201 slide 3
 
03-Indexes.pdf
03-Indexes.pdf03-Indexes.pdf
03-Indexes.pdf
 
Session 07_Creating and Management DB.ppt
Session 07_Creating and Management DB.pptSession 07_Creating and Management DB.ppt
Session 07_Creating and Management DB.ppt
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
 
05 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.001110322505 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.0011103225
 
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
 
Sql understanding
Sql understandingSql understanding
Sql understanding
 
Bai1 xaydung csdl-access
Bai1 xaydung csdl-accessBai1 xaydung csdl-access
Bai1 xaydung csdl-access
 

More from Trần Thanh

More from Trần Thanh (6)

07 trigger view
07 trigger view07 trigger view
07 trigger view
 
4 trigger
4  trigger4  trigger
4 trigger
 
C2 1
C2 1C2 1
C2 1
 
C1
C1C1
C1
 
C4 1
C4 1C4 1
C4 1
 
VoIP with Opensips
VoIP with OpensipsVoIP with Opensips
VoIP with Opensips
 

9. partitioning

  • 1. Hệ quản trị cơ sở dữ liệu Partitioning Dư Phương Hạnh Bộ môn Hệ thống thông tin Khoa CNTT, trường Đại học Công nghệ Đại học Quốc gia Hanoi hanhdp@vnu.edu.vn
  • 2. Phân mảnh  Các phần của bảng được lưu như các bảng riêng biệt tại các vị trí khác nhau  Cho phép phân phối các phần của bảng trên hệ thống file tuân theo các luật được thiết lập.  Luật phân chia dữ liệu được chọn bởi người dùng được gọi là hàm phân mảnh (partitioning function) 2 Hệ quản trị CSDL @ BM HTTT
  • 3. Minh họa 3 Hệ quản trị CSDL @ BM HTTT
  • 4. Một số ưu điểm của phân mảnh  Phân mảnh giúp lưu dữ liệu trong một bảng lớn hơn trên một đĩa hoặc phân vùng hệ thống file  Dữ liệu không còn hữu ích có thể thường xuyên loại bỏ dễ dàng bằng cách xóa phân vùng  Một số truy truy vấn có thể tối ưu nếu dữ liệu thỏa mãn mệnh đề WHERE được xác định lưu trữ trong một hoặc nhiều phân vùng  Do các phân vùng có thể sửa đổi sau khi bảng được tạo, có thể tổ chức lại dữ liệu để nâng cao các truy vấn thường xuyên 4 Hệ quản trị CSDL @ BM HTTT
  • 5. Các kiểu phân mảnh  Khoảng (RANGE): gán các dòng vào các phân mảnh dựa vào giá trị của cột nằm trong một khoảng  Danh sách (List): tương tự như khoảng, nhưng danh sách là một tập các giá trị rời rạc  Băm (HASH): dựa trên giá trị trả lại bởi biểu thức định nghĩa bởi người dùng (tạo ra giá trị nguyên, không âm)  Khóa (KEY): tương tự phân mảnh bởi băm, ngoại trừ hàm băm được cung cấp bởi MySQL server, đảm bảo kết quả trả lại là số nguyên bất kỳ kiểu dữ liệu của cột. Bất kỳ các cột được sử dụng như là khóa phân mảnh cần phải là một phần hoặc toàn bộ khóa chính của bảng 5 Hệ quản trị CSDL @ BM HTTT
  • 6. Ví dụ CREATE TABLE members ( firstname VARCHAR(25) NOT NULL, lastname VARCHAR(25) NOT NULL, username VARCHAR(16) NOT NULL, email VARCHAR(35), joined DATE NOT NULL ) PARTITION BY KEY(joined) PARTITIONS 6; 6 Hệ quản trị CSDL @ BM HTTT
  • 7. Ví dụ CREATE TABLE members ( firstname VARCHAR(25) NOT NULL, lastname VARCHAR(25) NOT NULL, username VARCHAR(16) NOT NULL, email VARCHAR(35), joined DATE NOT NULL ) PARTITION BY RANGE( YEAR(joined) )( PARTITION p0 VALUES LESS THAN (1960), PARTITION p1 VALUES LESS THAN (1970), PARTITION p2 VALUES LESS THAN (1980), PARTITION p3 VALUES LESS THAN (1990), PARTITION p4 VALUES LESS THAN MAXVALUE ); 7 Hệ quản trị CSDL @ BM HTTT
  • 8. Ví dụ CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT, store_id INT ) PARTITION BY LIST(store_id) ( PARTITION pNorth VALUES IN (3,5,6,9,17), PARTITION pEast VALUES IN (1,2,10,11,19,20), PARTITION pWest VALUES IN (4,12,13,14,18), PARTITION pCentral VALUES IN (7,8,15,16) ); 8 Hệ quản trị CSDL @ BM HTTT
  • 9. Ví dụ CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT, store_id INT ) PARTITION BY HASH( YEAR(hired) ) PARTITIONS 4; 9 Hệ quản trị CSDL @ BM HTTT
  • 10. EXPLAIN PARTITIONS  Sử dụng EXPLAIN PARTITIONS SELECT để xem các phân vùng nào được sử dụng trong lệnh SELECT 10 Hệ quản trị CSDL @ BM HTTT
  • 11. Quản lý phân mảnh  MySQL 5.5 hỗ trợ một số cách để sửa đổi các bảng phân mảnh: thêm, xóa, định nghĩa lại, hòa trộn, tách các mảnh đã tồn tại sử dụng câu lệnh ALTER TABLE – PARTITION BY, ADD PARTITION, DROP PARTITION, REORGANIZE PARTITION, COALESCE PARTITION 11 Hệ quản trị CSDL @ BM HTTT
  • 12. Ví dụ  ALTER TABLE trb3 PARTITION BY KEY(id) PARTITIONS 2;  ALTER TABLE tr DROP PARTITION p2;  ALTER TABLE ADD PARTITION (PARTITION p3 VALUES LESS THAN (2000)); 12 Hệ quản trị CSDL @ BM HTTT
  • 13. Thông tin về các phân mảnh  SHOW CREATE TABLE  SHOW TABLE STATUS  Truy vấn bảng INFORMATION_SCHEMA.PARTITIONS 13 Hệ quản trị CSDL @ BM HTTT
  • 14. Giới hạn và hạn chế của phân mảnh  Thao tác phân mảnh, truy vấn có xu hướng nhanh hơn với bảng MyISAM so với các bảng InnoDB  Số lượng phân mảnh lớn nhất cho mỗi bảng là 1024  Không hỗ trợ khóa ngoài  Các bảng phân mảnh không hỗ trợ tìm kiếm FULL TEXT 14 Hệ quản trị CSDL @ BM HTTT
  • 15. Tài liệu tham khảo  http://www.mysql.com  http://dev.mysql.com/doc/refman/5.5/en/  http://www.learn-mysql-tutorial.com/ 15 Hệ quản trị CSDL @ BM HTTT