オーストラリアの郵便番号と住所の db テーブルがあり、15,000 行あり、各行は次のようになっています。
pcode | suburb | state
2048 | Westgate | NSW
2066 | Belina | NSW
jQuery オートコンプリートで入力フィールドをトリガーし、ユーザー入力を分割して LIKE クエリを作成し、郊外フィールドと郵便番号フィールドを検索しました。
これはトリックを行います:
SELECT address_id as id, CONCAT(suburb,' ',postcode) as value FROM address WHERE address_id != ''";
foreach ($keywords as $keyword)
{
$query .= " AND (postcode like '".$keyword."%' OR suburb like '%".$keyword."%')";
}
現在、(主キーを除いて)どの列にもインデックスがありません。ある種の全文索引を使用して検索を変更したほうがよいでしょうか? または(巨大ではない)データ量が与えられた場合、私が行っていることは十分に効率的です