ホームページ  >  記事  >  バックエンド開発  >  データベースクエリステートメント

データベースクエリステートメント

WBOY
WBOYオリジナル
2016-08-08 09:06:57904ブラウズ

「%3%」のようにgoods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_nameを選択してください

問題点を指摘してください
正しい形式は何ですか、マスターに聞いてください

返信内容:

「%3%」のようにgoods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_nameを選択してください

問題点を指摘してください
正しい形式は何ですか、マスターに聞いてください

形式は正しいですが、何が問題ですか?

この記述は正しいです。

文自体は問題ないのですが、少しデータ量が増えると非常に遅くなり、最適化ポイントはcat_idにインデックスを追加するくらいです。ただし、推測が正しければ、このフィールドは値が繰り返されるカテゴリ フィールドであるため、インデックスを追加しても役に立ちません。
このような SQL が多数ある場合は、検索システム、Elastic search、または Solr を使用することをお勧めします。

ecs_goods WHERE (cat_id = '9'or cat_id ='10' or cat_id ='12' or cat_id ='13' or cat_id ='14') AND Goods_name LIKE '%3%' から Goods_name を選択します
そうでない方が良いですで使用します

2つの条件はandなので別々に実行できるはずです

先にinして結果からlikeすることもできるはずです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。