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

Bagaimana cara menanyakan tabel MySQL ini dengan cara yang paling berkinerja?

Anda harus melakukan pemindaian tabel lengkap, jadi ini mungkin solusi terbaik:

select (case when id in (< your list >) then 'in' else 'out' end) as inlist,
       my_boolean_field, count(*)
from mytable t
group by (case when id in (< your list >) then 'in' else out' end),
         my_boolean_field;

Jika daftar Anda ada dalam tabel dengan indeks, maka Anda dapat menggunakan left join di atasnya. Namun, MySQL mengoptimalkan pencarian untuk in dengan nilai konstan (menggunakan pencarian biner). Jadi ini mungkin metode tercepat.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.AbstractMethodError:com.mysql.jdbc.PreparedStatement.setBlob(ILjava/io/InputStream;)V

  2. Hashing kata sandi menggunakan crypt tidak berfungsi saat login, ini menampilkan pass yang salah

  3. Kelompokkan Mysql dengan dua kolom dan pilih nilai maksimum kolom ketiga

  4. Apa perbedaan antara delete from table_a dan truncate table table_a di MySQL?

  5. Kotak centang PHP diatur untuk memeriksa berdasarkan nilai basis data