sql >> データベース >  >> RDS >> Sqlserver

複数のテーブルにわたる全文検索を最適化する

    CONTAINSTABLEは一度に1つのテーブルのFTSインデックスしか検索できないため、これは難しい問題です。上記のUNIONソリューションは、パフォーマンスが許容範囲内である限り問題ありません。

    1回のクエリで多くのテーブルから多くの列を効率的に検索する必要があるという同じ問題に直面しました。これらの列とテーブルのすべてのデータを単一の読み取り専用テーブルに集約しました。その場合、クエリには1回のCONTAINSTABLE呼び出しのみが必要でした

     CONTAINSTABLE(AggregatedTable, AggregatedColumn, @FtsQuery)
    

    5〜10分ごとに実行され、変更されたコンテンツをソーステーブルから単一の読み取り専用の集約コンテンツテーブルに段階的に集約するスケジュールされたジョブがあります。

    一般に、適度なサイズのデータ​​ベースとユーザー負荷でFTSを使用するということは、常にパフォーマンスと戦っていることを意味しているようです。何をしても許容できるパフォーマンスが得られない場合は、 Lucene




    1. mysqlはどのようにして数百万のレコードをより速く挿入できますか?

    2. Visual Studio Express 2008はMySQLに接続できますか?

    3. Oracle ダンプ ファイルを Oracle データベースにアップロードする方法:AWS RDS

    4. PHPを使用してMySQLから現在の日付に日数を追加する