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

php mysql pencarian teks lengkap beberapa tabel bergabung dengan id

Anda dapat membuat 'tampilan terwujud'.http://en.wikipedia.org/wiki/Materialized_view

pada dasarnya tabel yang merupakan hasil GABUNG, dan buat indeks teks lengkap di atasnya.

CREATE TABLE materialized (FULLTEXT idx (user_name,department_name)) 
 SELECT u.id,user_name,department_name 
 FROM users u INNER JOIN departments d ON (d.id = dept_id) 

Anda kemudian dapat menjalankan kueri di tabel itu sebagai gantinya..

SELECT * FROM materialized WHERE MATCH(user_name,department_name) AGAINST('test' IN BOOLEAN MODE)

tapi...

Anda perlu memperbarui tabel secara berkala (atau ketika tabel yang mendasarinya diperbarui) - paling mudah adalah dengan DROP dan buat ulang - Atau Anda dapat menggunakan TRUNCATE lalu INSERT INTO ... SELECT ... FROM ... format.

(skema yang lebih rumit melibatkan pemicu untuk menjaga agar 'tampilan' tetap diperbarui, atau bahkan menonton binlog, dan memutar ulang pembaruan terhadap 'tampilan')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tipe mysql terkecil yang mengakomodasi desimal tunggal

  2. mysql - dapatkah saya menanyakan berapa banyak connect_errors yang diberikan oleh host tertentu?

  3. MySQL UPDATE menggunakan kondisi JIKA

  4. MySQL mengembalikan 1 gambar untuk setiap produk

  5. Sistem skor tinggi dari game iphone saya