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

Adakah cara untuk menghindari pengurutan file ketika pesanan berdasarkan berbeda dengan klausa where?

Perhatikan bahwa istilah MySQL filesort tidak berarti ia menulis ke disk. Itu hanya berarti akan mengurutkan tanpa menggunakan index. Jika kumpulan hasil cukup kecil, MySQL akan mengurutkannya dalam memori, yang urutan besarnya lebih cepat daripada I/O disk.

Anda dapat meningkatkan jumlah memori yang dialokasikan MySQL untuk jenis file dalam memori menggunakan sort_buffer_size variabel server. Di MySQL 5.1, ukuran buffer pengurutan default adalah 2MB, dan maksimum yang dapat Anda alokasikan adalah 4GB.

perbarui: Mengenai komentar Jonathan Leffler tentang mengukur berapa lama penyortiran berlangsung, Anda dapat mempelajari cara menggunakan SHOW PROFILE FOR QUERY yang akan memberi Anda perincian tentang berapa lama waktu yang dibutuhkan setiap fase eksekusi kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipkan pernyataan yang memeriksa duplikat sebelum disisipkan

  2. PILIH * DI MANA TIDAK ADA

  3. Bagaimana cara mengatur baris MySQL ke READ-ONLY?

  4. Masalah Penyandian Teks MySQL C#

  5. Hapus data persimpangan secara otomatis bersama dengan DELETE catatan?