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

MySQL, ĐẶT HÀNG THEO thứ tự chèn, không có cột sắp xếp

Không có gì đảm bảo rằng các hàng sẽ được trả lại theo bất kỳ thứ tự cụ thể nào mà không có ORDER BY mệnh đề trong truy vấn.

Hãy xem xét một truy vấn đơn giản trả về tất cả các cột của tất cả các hàng trong một bảng. Ví dụ:

SELECT * FROM mytable ; 

Đối với truy vấn đó, có khả năng MySQL sẽ thực hiện quét toàn bộ bảng, từ đầu bảng. Vì vậy, có khả năng các hàng sẽ được trả lại theo thứ tự chúng được tìm thấy trong bộ nhớ vật lý.

Điều này có thể gần tương ứng với thứ tự các hàng đã được chèn, nếu không có lần xóa, không có cập nhật và không sắp xếp lại, trong đó không gian cho hàng đã chèn sau đó được lấy lại và được sử dụng lại để lưu trữ hàng mới được chèn.

Nhưng hành vi này KHÔNG được đảm bảo.

Để trả về các hàng theo thứ tự mà chúng đã được chèn, truy vấn phải chỉ định trình tự mà các hàng sẽ được trả về, bằng cách bao gồm một ORDER BY mệnh đề.

Đối với các hàng được trả về theo "thứ tự chèn", điều đó có nghĩa là truy vấn cần phải có sẵn thông tin đó hoặc có thể lấy được thông tin đó. Đối với một truy vấn đơn giản đối với một bảng, điều đó có nghĩa là thông tin cần được lưu trữ trong hàng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn một float trong MySQL

  2. Nhóm MySQL theo hàng liên tiếp

  3. Cách di chuyển rồi xóa trường trong MySQL

  4. Đang cố gắng thực hiện thao tác MINUS trong MySQL

  5. Làm thế nào để loại bỏ duy nhất trong MySQL?