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

PostgreSQL - Đã thực hiện cập nhật cho bảng trong một hàm tôi đã tạo và bây giờ thứ tự của các hàng trong bảng đã thay đổi

Một bảng không có thứ tự hàng tự nhiên, một số hệ thống cơ sở dữ liệu sẽ thực sự từ chối truy vấn của bạn nếu bạn không thêm ORDER BY ở cuối SELECT của bạn

Tại sao đơn đặt hàng lại thay đổi?

Bởi vì công cụ cơ sở dữ liệu tìm nạp các hàng của bạn theo thứ tự vật lý mà chúng đến từ bộ lưu trữ. Một số công cụ, như SQL Server, có thể có CLUSTERED INDEX điều này buộc một trật tự vật lý, nhưng vẫn không bao giờ thực sự đảm bảo rằng bạn nhận được kết quả của mình theo thứ tự chính xác đó.

Chỉ mục được phân nhóm chủ yếu tồn tại dưới dạng tối ưu hóa. PostgreSQL có CLUSTER tương tự có chức năng thay đổi thứ tự vật lý, nhưng đó là một quá trình nặng sẽ khóa bảng: http://www.postgresql.org/docs/9.1/static/sql-cluster.html

Làm thế nào để buộc một thứ tự bảng chữ cái của các hàng?

Thêm ORDER BY mệnh đề trong truy vấn của bạn.

SELECT * FROM table ORDER BY column



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django SearchVector sử dụng icontains

  2. CHỌN hoặc THỰC HIỆN trong một hàm PL / pgSQL

  3. Di chuyển Rails 3:boolean (mysql vs postgreSQL)

  4. Trình kích hoạt PostgreSQL không trả về bất kỳ thứ gì

  5. Chỉ mục tổng hợp có ba khóa, điều gì sẽ xảy ra nếu tôi truy vấn bỏ qua khóa ở giữa?