TÊN TRƯỜNG DỮ LIỆU TRONG MYSQL TỐI ĐA BAO NHIÊU KÝ TỰ?

Trong bài bác này chúng ta sẽ tìm hiểu Prefix Index vào MySQL, đấy là loại chỉ mục giúp ta tối ưu được dung lượng lưu trữ các chỉ mục Index trong MySQL.

Bạn đang xem: Tên trường dữ liệu trong mysql tối đa bao nhiêu ký tự?

Bạn vẫn xem: thương hiệu trường tài liệu trong mysql tối đa bao nhiêu ký tự?

Để hiểu rõ hơn loại index này thì ta hãy mày mò một chút về thực chất của Prefix Index và trả lời thắc mắc tại sao nên sử dụng nó trong xây cất database nhé.

1. Trình làng Prefix Index trong MySQL

Khi các bạn tạo một chỉ mục phụ (secondary index) cho một column thì MySQL đã lưu những giá trị của các column vào một cấu trúc dữ liệu riêng rẽ biệt, ví dụ: B-Tree với Hash.

Trong trường hợp những column tất cả kiểu dữ liệu chuỗi thì chỉ mục sẽ tiêu tốn rất nhiều dung tích đĩa và có chức năng làm lờ lững các chuyển động INSERT. Để giải quyết và xử lý vấn đề này, MySQL chất nhận được bạn chế tạo chỉ mục chỉ cho phần đầu quý giá của column.

Ví dụ bạn tàng trữ 1 triệu bài viết và muốn đặt chỉ mục mang lại field post_title sẽ giúp việc tầm nã vấn cấp tốc hơn. Bây giờ nếu thực hiện index bình thường thì sẽ không giỏi cho việc lưu trữ, vì chưng vậy ta phải tìm chiến thuật là chỉ index từng nào ký tự thứ nhất thôi, miễn là chiều nhiều năm đủ để những tiêu đề là duy nhất.

Cú pháp như sau:

column_name(length)Ví dụ: câu lệnh dưới đây tạo prefix index ngay lập tức tại thời khắc tạo table.

CREATE TABLE table_name( column_list, INDEX(column_name(length)));Hoặc thêm xuất phát điểm từ 1 bảng vẫn tồn tại sẵn.

CREATE INDEX index_nameON table_name(column_name(length));Trong cú pháp này thì length chính là độ dài của các loại chuỗi chưa hẳn nhị phân như CHAR, VARCHAR với TEXT, cùng là số byte của những kiểu tài liệu như BINARY, VARBINARY và BLOB.

MySQL cho phép bạn tùy ý tạo ra column prefix cho những cột dạng hình CHAR, VARCHAR, BINARY với VARBINARY. Nếu như khách hàng tạo chỉ mục cho những cột BLOB cùng TEXT thì các bạn phải chỉ định những phần thiết yếu của column prefix.

Lưu ý rằng độ dài của tiền tố nhờ vào vào lý lẽ lưu trữ. Đối với những bảng InnoDB gồm định dạng sản phẩm REDUNDANT hoặc COMPACT bao gồm độ nhiều năm tiền tố buổi tối đa là 767 byte. Mặc dù nhiên, so với các bảng InnoDB có định dạng hng DYNAMIC hoặc COMPRESSED đã độ dài tiền tố là 3.072 byte. Các bảng MyISAM bao gồm độ dài tiền tố lên đến 1.000 byte.

Xem thêm: Chim Chích Chòe Than Thích Ăn Những Loại Thức Ăn Nào? Giá Bao Nhiêu

2. Các ví dụ sinh sản Prefix Index vào MySQL

Giả sử chúng ta có table products gồm những field như sau:

SELECT productName, buyPrice, msrpFROM productsWHERE productName lượt thích "1970%";Do không tồn tại chỉ mục đến cột ProductName cần truy vấn phải quét tất cả các hàng để trả về công dụng như vào hình dưới đây. Mình sử dụng lệnh EXPLAIN nhằm xem cụ thể câu SELECT.

EXPLAIN SELECT productName, buyPrice, msrpFROM productsWHERE productName like "1970%";

Theo như trong hình thì có tổng cộng 110 rows. Nếu như khách hàng thường xuyên kiếm tìm kiếm trên cột này thì nên tạo chỉ mục đến nó, điều đó giúp về tối ưu hóa thời gian tìm kiếm.

Giả sử size của cột ProductName về tối đa 70 cam kết tự, là hình dáng chuỗi yêu cầu ta hoàn toàn có thể áp dụng trong Prefix Index.

Câu hỏi tiếp theo là làm cố gắng nào để các bạn chọn độ lâu năm của Prefix Index? Để làm điều đó thì dựa vào dữ liệu hiện nay có, phương châm là tìm kiếm được con số đúng đắn giúp những record trong bảng là duy nhất. Hãy nhờ rằng ta tất cả tổng công 110 record nhé.

Để làm cho điều này, bạn làm theo các bước sau:

Bước 1. Tìm số lượng hàng vào bảng:

SELECT COUNT(*)FROM products;Theo như hiệu quả ở bên trên thì bao gồm 110 records.

Bước 2. Sử dụng câu lệnh dưới đây để tìm kiếm độ lâu năm khúc đầu của chuỗi là bao nhiêu sẽ tạo ra được tính duy nhất cho các record. Bạn cũng có thể thay số lượng 20 bằng số lượng bất kì để test.

SELECT COUNT(DISTINCT LEFT(productName, 20)) unique_rowsFROM products;

Theo như hình thì trăng tròn là độ lâu năm tiền tố xuất sắc trong trường vừa lòng này chính vì nếu chúng ta sử dụng đôi mươi ký tự trước tiên của tên sản phẩm cho chỉ mục thì toàn bộ các tên thành phầm là duy nhất.

Hãy để tạo nên một chỉ mục cùng với độ dài tiền tố 20 cho cột ProductName:

CREATE INDEX idx_productname ON products(productName(20));Và thực hiện truy vấn search các sản phẩm có tên bắt đầu bằng chuỗi 1970 một lần nữa:

EXPLAIN SELECT productName, buyPrice, msrpFROM productsWHERE productName like "1970%";

Bây tiếng câu truy nã vấn chạy nhanh hơn và công dụng hơn các so với trước đây.

Như vậy trong bài bác này mình đã hướng dẫn hoàn thành cách áp dụng Prefix Index vào MySQL. Đây là một loại index rất hữu dụng trong truòng hợp bạn có nhu cầu tối ưu hóa lưu trữ chỉ mục trong MySQL.

bài xích sau bài bác tiếp

DANH SÁCH BÀI HỌC

View Stored Procedure Index Full Text tìm kiếm Trigger Tips list chủ đề
MÃ GIẢM GIÁ
Unica 50% Lấy Mã
TinoHost 30% Lấy Mã
INET 30% Lấy Mã

tương tác

Mã sút giá

Khóa học

Giới thiệu

Admin Cường, làm chủ chính của website.

2020 - ucozfree.com. All Right Reserved Theme GoodNews, nền tảng gốc rễ Codeigniter, VPS thiết lập tại Tinohost
*

BÀI VIẾT

Nếu các bạn phát hiện tại lỗi không nên link, văn bản sai, hay như là một lỗi bất kì nào đó trên trang này thì hãy cho bản thân biết nhé. Cám ơn bạn!