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

Cara terbaik untuk menarik item serupa dari database MySQL

Untuk tabel myisam Anda dapat menggunakan pencarian Teks Lengkap Bahasa Alami:http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html

SELECT * FROM article a
LEFT JOIN articletag at ON (at.articleid = a.articleid)
LEFT JOIN tag t ON (at.tagid = t.tagid)
WHERE MATCH (a.title) AGAINST ('some title' IN NATURAL LANGUAGE MODE)
OR MATCH (t.tagtext) AGAINST ('some tag' IN NATURAL LANGUAGE MODE)
GROUP BY a.articleid # if you don't want get duplicates 

Anda juga dapat mempertimbangkan untuk menambahkan informasi yang berlebihan tentang tag ke dalam satu bidang (mis. <taga><tagb><tagz> ) di tabel artikel dan perbarui setiap kali tag ditambahkan/dihapus. Ini akan menyederhanakan kueri dan seharusnya lebih cepat:

SELECT * FROM article a
WHERE MATCH (a.title, a.tagtext) AGAINST ('some title or tag' IN NATURAL LANGUAGE MODE)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah stempel waktu menjadi tanggal yang dapat dibaca selama kueri

  2. Bagaimana VBA terhubung ke database MySQL di Excel?

  3. Diperlukan untuk menggabungkan 2 tabel dengan FK mereka di tabel ke-3

  4. BACA dan TULIS bersamaan di Tabel MySQL

  5. Cara memeriksa kunci array di php untuk menyimpan nilai array di mysql