Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hiệu suất của MYSQL IN

Bắt đầu từ một số bản ghi nhất định, IN vị từ trên SELECT trở nên nhanh hơn so với danh sách các hằng số.

Xem bài viết này trong blog của tôi để so sánh hiệu suất:

Nếu cột được sử dụng trong truy vấn trong IN mệnh đề được lập chỉ mục, như thế này:

SELECT  *
FROM    table1
WHERE   unindexed_column IN
        (
        SELECT  indexed_column
        FROM    table2
        )

, thì truy vấn này chỉ được tối ưu hóa thành EXISTS (sử dụng trừ một mục nhập cho mỗi bản ghi từ table1 )

Thật không may, MySQL không có khả năng thực hiện HASH SEMI JOIN hoặc MERGE SEMI JOIN hiệu quả hơn (đặc biệt nếu cả hai cột đều được lập chỉ mục).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thay đổi hàng loạt Bộ kích hoạt MySQL DEFINER

  2. Chọn Tất cả sự kiện với Sự kiện-> Lịch biểu-> Ngày giữa ngày bắt đầu và ngày kết thúc trong CakePHP

  3. Làm cách nào để thực hiện sao lưu trong MySQL?

  4. Tập lệnh kiểm tra tình trạng sao chép MySQL

  5. mysql_data_seek pdo tương đương