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

MySQL-Kinerja saat memesan pada kolom terhitung

Sebenarnya Anda tidak dapat mengoptimalkan kueri tersebut.

Anda mengurutkan hasil menggunakan nilai terhitung, sehingga Anda tidak dapat menggunakan indeks. Jika Anda menggunakan explain Anda bisa melihat bagaimana kueri Anda dieksekusi, dan using temporary akan hadir di extra kolom, yang berarti bahwa semua data dari kueri Anda disimpan di tabel sementara tempat pemesanan dilakukan.

Tidak masalah jika Anda hanya menginginkan 50 kecocokan pertama dalam kueri, itu harus terlebih dahulu mendapatkan semua data, membuangnya ke tabel sementara, mengurutkan hasilnya di tabel itu dan kemudian mengembalikan kepada Anda 50 kecocokan pertama.

Seperti yang Anda duga, ini adalah operasi yang memakan waktu dan memori.

Jadi pilihan terbaik Anda adalah menempatkan indeks di tabel untuk mendapatkan semua baris yang Anda butuhkan secepat mungkin dan kemudian memprosesnya dengan php untuk mendapatkan data yang Anda butuhkan.

Omong-omong, lihat panduan pengoptimalan MySQL .



  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 menyimpan desimal di MySQL?

  2. Dapatkan tipe variabel di MySQL

  3. Cara Menghitung Moving Average di MySQL

  4. PHP, MySQL, PDO - Dapatkan hasil dari kueri UPDATE?

  5. Setel nilai mySQL MAX ke variabel Java