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

Apa urutan default dari daftar yang dikembalikan dari panggilan filter Django?

Tidak ada TIDAK ADA PESANAN DEFAULT , sebuah poin yang tidak bisa cukup ditekankan karena semua orang melakukannya salah.

Tabel dalam database bukanlah tabel html biasa, melainkan kumpulan tupel yang tidak berurutan. Ini sering mengejutkan programmer hanya digunakan untuk MySQL karena dalam database tertentu urutan baris sering diprediksi karena tidak mengambil keuntungan dari beberapa teknik optimasi tingkat lanjut. Misalnya, tidak mungkin mengetahui baris mana yang akan dikembalikan, atau urutannya dalam salah satu kueri berikut:

select * from table limit 10
select * from table limit 10 offset 10
select * from table order by x limit 10

Dalam kueri terakhir, urutan hanya dapat diprediksi jika semua nilai di kolom x unik. RDBMS bebas mengembalikan baris apa pun dalam urutan apa pun yang diinginkan selama memenuhi kondisi pernyataan pilih.

Meskipun Anda dapat menambahkan urutan default pada tingkat Django, yang menyebabkannya menambahkan urutan demi klausa ke setiap kueri tidak berurutan:

class Table(models.Model):
    ...
    class Meta:
        ordering = ['name']

Perhatikan bahwa ini mungkin merupakan hambatan kinerja, jika karena alasan tertentu Anda tidak memerlukan baris yang diurutkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah PostgreSQL mengindeks kolom array?

  2. PostgreSQL ERROR:fungsi to_tsvector (karakter bervariasi, tidak diketahui) tidak ada

  3. Ikhtisar Kompilasi Just-in-Time (JIT) untuk PostgreSQL

  4. Fitur PostgreSQL Enterprise Baru dan Berkembang dengan Rilis Terbaru

  5. Bagaimana saya bisa hash kata sandi di postgresql?