Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kueri campuran terhadap indeks teks lengkap

Saya tidak percaya Anda harus mengalami masalah, jika saya memahami pertanyaan Anda dengan benar. Saya sering menggabungkan teks lengkap dan b-tree dengan hasil yang bagus. Ketika pencarian teks lengkap dilakukan, ia melihat setiap "istilah" yang dibatasi sebagai indeks, seperti halnya kolom yang diindeks dengan hanya satu istilah (memberi atau menerima beberapa statistik sql). Bagaimanapun, SQL harus mencari tahu jalur eksekusinya. Pencarian Teks Lengkap tidak menyukai membandingkan nilai integer/tanggal--lebih untuk mencocokkan string data yang dibatasi.

Saya membayangkan Anda ingin tetap menggunakan efisiensi konsep b-tree untuk keuntungan Anda. Pencarian indeks katalog teks lengkap bagi saya tampaknya menjadi pencarian yang jauh lebih menyeluruh, meskipun jauh lebih menguntungkan dalam situasi menggunakan "LIKE" untuk mengurai/membandingkan string.

Yang saya lakukan adalah:

 SELECT * FROM MyTable
  WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
    AND start_date > ###;

(lihat artikel msdn ini untuk info sintaks )

P.S. ketika data integer pengindeksan teks lengkap, matikan stoplist sehingga nilai tersebut tidak diabaikan dalam pengindeksan katalog.

Semoga ada yang membantu! (Tidak ada yang menjawab jadi saya pikir saya akan memberikan pengalaman saya)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PILIH DARI prosedur tersimpan?

  2. sql server - periksa untuk melihat apakah cast dimungkinkan

  3. 3 Cara Mendapatkan Nama Bulan dari Tanggal di SQL Server (T-SQL)

  4. Isolasi dan pembacaan transaksi dari beberapa tabel di SQL Server Express dan SQL Server 2005

  5. Kueri hierarkis di SQL Server 2005