Computer >> Máy Tính >  >> Lập trình >> MySQL

Cải thiện Hiệu suất Tìm kiếm MySQL với các ký tự đại diện (%%)?

Không, MySQL sẽ không cải thiện hiệu suất tìm kiếm bất cứ khi nào bạn có các ký tự đại diện ở đầu vì MySQL sẽ không thể sử dụng chỉ mục. Nếu bạn thay đổi thành 'anyLetter%' thì nó sẽ có thể sử dụng chỉ mục

Cú pháp dưới đây tốt hơn để sử dụng với các ký tự đại diện theo sau. Cú pháp như sau -

 CHỌN * TỪ yourTableName TRONG ĐÓ yoorColumnName THÍCH ‘anyLetter%’; 

Truy vấn để tạo bảng như sau -

 mysql> tạo bảng TrailingWildCardDemo -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name Varchar (20), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,71 giây)  

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau -

 mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('Johnson'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('Mike'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('Kevin'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,23 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('Adam'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('Ethan'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,16 giây) mysql> chèn vào các giá trị TrailingWildCardDemo (Tên) ('James'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng một câu lệnh chọn. Truy vấn như sau -

 mysql> select * từ TrailingWildCardDemo; 

Sau đây là kết quả -

 + ---- + --------- + | Id | Tên | + ---- + --------- + | 1 | John || 2 | Johnson || 3 | Mike || 4 | Kevin || 5 | Adam || 6 | Ethan || 7 | James | + ---- + --------- + 7 hàng trong bộ (0,00 giây) 

Đây là truy vấn về các ký tự đại diện theo sau -

 mysql> select * từ TrailingWildCardDemo trong đó Tên LIKE 'j%'; 

Sau đây là kết quả -

 + ---- + --------- + | Id | Tên | + ---- + --------- + | 1 | John || 2 | Johnson || 7 | James | + ---- + --------- + 3 hàng trong bộ (0,00 giây)