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

Bisakah MySQL menggunakan Indeks ketika ada ATAU di antara kondisi?

Rencana kueri untuk OR case muncul untuk menunjukkan bahwa MySQL memang menggunakan indeks, jadi ternyata ya, itu bisa dilakukan, setidaknya dalam kasus ini. Tampaknya sepenuhnya masuk akal, karena ada indeks di seen , dan id adalah PK.

Jika "penjelasan logis dan masuk akal" bertentangan dengan kenyataan, maka aman untuk berasumsi bahwa logika itu cacat atau penjelasannya salah atau tidak dapat diterapkan. Kinerja sangat sulit diprediksi; pengujian kinerja sangat penting di mana kecepatan penting.

Anda harus menggunakan yang menguji lebih cepat pada input yang secara memadai memodelkan apa yang akan dilihat program dalam penggunaan nyata.

Namun, perhatikan juga bahwa dua kueri Anda tidak setara secara semantik:jika baris dengan id = 5204 juga telah seen = 3 lalu OR kueri akan mengembalikannya sekali, tetapi UNION ALL kueri akan mengembalikannya dua kali. Tidak ada gunanya memilih antara kode yang benar dan kode yang salah atas dasar apa pun selain mana yang benar.



  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 html di database mysql

  2. kesalahan sintaks untuk deklarasi variabel mysql

  3. Bagaimana saya bisa mendapatkan kunci asing dari tabel di mysql

  4. Cara membatasi akses port MySQL

  5. 'OPSI SQL_SELECT_LIMIT=DEFAULT'