ブックマーク / rzpg.blogspot.com (1)

  • MySQLでNOT INの代わりにNOT EXISTSを使うと速い

    ちょっとした情報を取り出す時のクエリが30秒ほどかかったので、何とか改善できないものかと試行錯誤してみました。 2つのテーブルがあって、仮に ■顧客情報 t_client_info ( client_id, name, address) ■顧客履歴 t_client_history (id, client_id, visit_date) とでもしましょう。 visit_dateはdate型ではなくてint型でYYYYMMDDの形式とします。 あとは見たまんまなのでテーブルの説明は省略ます。 2010年の元旦から1年以内に来店した顧客の住所と最終来店日を取得するというクエリです。 1年のうちに1回しか来なかった人は省くことにします。 SELECT i.client_id, name, address, MAX(visit_date) as vdate FROM t_client_info A

  • 1