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

Bagaimana cara membuat permintaan pencarian sql lebih kuat?

sesuatu seperti

Select * from TableName where Name Like 'Spa%'
ORDER BY case when soundex(name) = soundex('Spa') then '1' else soundex(name) end

harus bekerja baik-baik saja.

sebenarnya ini akan bekerja lebih baik

Select * from TableName where Name Like 'Spa%'
ORDER BY DIFFERENCE(name, 'Spa') desc;

FWIW Saya melakukan beberapa tes cepat dan jika 'Nama' ada dalam INDEKS TIDAK TERMASUK SQL akan menggunakan indeks dan tidak melakukan pemindaian tabel. Juga, LIKE tampaknya menggunakan lebih sedikit sumber daya daripada charindex (yang mengembalikan hasil yang kurang diinginkan). Diuji pada sql 2000.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengganti \r\n dengan PHP

  2. Mengambil perubahan dari tabel dengan sungai ElasticSearch JDBC

  3. Bagaimana cara mendapatkan ukuran tabel database MySQL?

  4. urutan sql yang rumit oleh

  5. koneksi mysql program C