Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL, ORDER BY urutan penyisipan, tidak ada kolom penyortiran

Tidak ada jaminan bahwa baris akan dikembalikan dalam urutan tertentu tanpa ORDER BY klausa dalam kueri.

Pertimbangkan kueri sederhana yang mengembalikan semua kolom dari semua baris dalam tabel. Misalnya:

SELECT * FROM mytable ; 

Untuk query tersebut, kemungkinan MySQL akan melakukan full table scan, dari awal tabel. Jadi, kemungkinan besar baris akan dikembalikan sesuai urutan saat ditemukan di penyimpanan fisik.

Ini mungkin secara kasar sesuai dengan urutan baris yang disisipkan, jika tidak ada penghapusan, tidak ada pembaruan, dan tidak ada reorganisasi, di mana ruang untuk baris yang disisipkan kemudian diklaim kembali, dan digunakan kembali untuk menyimpan baris yang baru disisipkan.

Tapi perilaku ini TIDAK dijamin.

Untuk mengembalikan baris sesuai urutan penyisipannya, kueri harus menentukan urutan baris yang akan dikembalikan, dengan menyertakan ORDER BY klausa.

Agar baris dikembalikan dalam "urutan penyisipan", itu berarti kueri harus dapat menyediakan informasi itu, atau dapat memperolehnya. Untuk kueri sederhana terhadap satu tabel, itu berarti informasi harus disimpan dalam baris.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat file bahasa Codeigniter dari database?

  2. Periksa apakah kolom ada di tabel MySQL melalui PHP

  3. Cara membuat skrip login yang aman di PHP dan MySQL

  4. Mengapa kueri UNION sangat lambat di MySQL?

  5. Python db-api:fetchone vs fetchmany vs fetchall