PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apakah order by in view menjamin order pilih?

Anda tidak dapat mengandalkan urutan baris dalam kueri apa pun yang tidak memiliki ORDER BY eksplisit ayat. Jika Anda menanyakan tampilan terurut, tetapi Anda tidak menyertakan ORDER BY klausa, terkejutlah jika urutannya benar, dan jangan berharap itu terjadi lagi.

Itu karena pengoptimal kueri bebas mengakses baris dengan cara yang berbeda tergantung pada kueri, statistik tabel, jumlah baris, indeks, dan sebagainya. Jika tahu kueri Anda tidak memiliki ORDER BY klausa, bebas untuk mengabaikan urutan baris agar (batuk) mengembalikan baris lebih cepat.

Sedikit di luar topik . . .

Urutan pengurutan tidak selalu identik di seluruh platform bahkan untuk kumpulan terkenal. Saya mengerti bahwa menyortir UTF-8 di Mac OS X sangat aneh. (Pengembang PostgreSQL menyebutnya rusak .) PostgreSQL bergantung pada strcoll(), yang saya pahami bergantung pada lokal OS.

Tidak jelas bagi saya bagaimana PostgreSQL 9.1 akan menangani ini. Di 9.1, Anda dapat memiliki beberapa indeks, masing-masing dengan susunan yang berbeda . ORDER BY yang tidak menentukan susunan biasanya akan menggunakan susunan kolom tabel dasar yang mendasarinya, tetapi apa yang akan dilakukan pengoptimal dengan indeks yang menentukan susunan yang berbeda dari kolom yang tidak diindeks di tabel dasar?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak ada pemetaan Dialek untuk tipe JDBC:2003

  2. PG::Error:SELECT DISTINCT, ORDER BY ekspresi harus muncul di daftar pilih

  3. Bagaimana cara menginstal Npgsql sebagai penyedia data untuk ADO.NET Entity Framework?

  4. Cara memperbarui banyak catatan menggunakan peewee

  5. PgSQL mengubah hari-hari menjadi tanggal