3列にフルテキストインデックスを追加する場合、3列に1つの単一インデックスを追加しますか、それとも3つの個別のインデックスを追加しますか?
現時点では、次のようにFULLTEXTを使用しているため、これを尋ねます。
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
検索インターフェイスにユーザーオプションを追加しました。ユーザーは、検索から列の1つを削除できます。したがって、インデックスを失うことなくこれを行うことができます。ここでは、3つの列のうち2つだけを使用しています。
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
If (UserOptionRemoveCol == "selected") {
SELECT * FROM myTable WHERE MATCH (col1, col2) AGAINST ('word');
} else {
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
}
または、2つの列と3つの列に新しいFULLTEXTインデックスを作成する必要がありますか?
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
ALTER TABLE myTable ADD FULLTEXT 2colsIndex (col1,col2);