2
ユーザーが同じ情報または部分的に同じ情報を入力した場合に検証する必要があるデータベーステーブルがあります。データの一致のいずれかの場合はここで複数のORクエリを最適化する
は、私が(はいインクルードは偽陽性となります)クエリ
SELECT rec_id
FROM tbl_name
WHERE user_id = '123456789'
OR '1112223333' IN (phone, co_phone, bi_phone)
OR 'John Doe' IN (name, business, billing)
OR '12345' IN (zip, co_zip, bi_zip)
OR '123 main street' IN (address_1, co_address_1, bi_address_1)
OR 'po box 123' IN (address_2, co_address_2, bi_address_2)
デシベルレイアウト
rec_id (pk), user_id,
name, phone, address_1, address_2, zip,
company, co_phone, co_address_1, co_address_2, co_zip,
billing, bi_phone, bi_address_1, bi_address_2, bi_zip
私は
を考えているものです古いrec_idが必要です。
これを行うより良い方法があるかどうかを知りたいと思っていましたか?このクエリの
おかげ
興味深いことに、これを試す必要があるかもしれません。 –
UNIONではなくUNION ALLはどうですか?パフォーマンスは賢明ですか? –
@Phill Pafford:UNION ALLは重複を除去しないのでUNIONより高速ですが、ここで重複を削除したいと思います。 –