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

mysql pilih dalam daftar dengan regexp/substring

Ini adalah operasi BERGABUNG dengan lambat yang tidak dapat diterima dengan baik ON kondisi.

SELECT B.description
  FROM A
  JOIN B ON B.description LIKE CONCAT('%', A.code, '%')

Lambat karena 'needle' LIKE '%haystack%' berarti MySQL harus melihat segala sesuatu di tumpukan jerami untuk menemukan jarumnya.

Sebaliknya, 'needle' LIKE 'haystack%' (tanpa % leading di depan ) bisa menggunakan indeks. Jadi, jika ini berfungsi di data Anda, Anda harus menggunakannya.

SELECT B.description
  FROM A
  JOIN B ON B.description LIKE CONCAT('FAX', A.code, '%')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Isi pilih drop down dari tabel database

  2. Aplikasi Android untuk mengirim gambar ke MySQL

  3. mysql menghitung baris dengan loop

  4. docker-compose mysql init sql tidak dieksekusi

  5. menyimpan pengaturan MySQL