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

Bagaimana cara menggunakan indeks secara efisien dalam kueri mysql

Anda dapat mencoba kueri Top-N untuk menemukan kandidat pertama, lalu menerapkan kandidat tersebut hanya pada pola yang sebenarnya:

select 1 
  from (select c1 
          from junk 
         where c1 <= 'fxg87698x84'
         order by c1 desc limit 1) tmp 
 where 'fxg87698x84' like concat(c1, '%');

kueri top-n harus menggunakan indeks reguler di c1.

EDIT :Dijelaskan lebih detail di blog saya:http://blog.fatalmind.com/2010/09/29/finding-the-best-match-with-a-top-n-query/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat membuat PoolableConnectionFactory (Akses ditolak untuk pengguna ''@'localhost'

  2. Tipe data MySQL mana yang digunakan untuk menyimpan nilai boolean?

  3. VS 2019 dan nama database duplikat MySQL Entity Framework

  4. Objek queryset Django mengembalikan None alih-alih 0 meskipun database memiliki 0 disimpan sebagai nilai bidang

  5. cari beberapa kata kunci dengan php dan mysql (di mana X suka)