ホームページ  >  記事  >  バックエンド開発  >  SQLクエリに関する質問

SQLクエリに関する質問

WBOY
WBOYオリジナル
2016-06-13 13:33:14749ブラウズ

SQL クエリに関する質問
テーブル構造
id name nasid
1 nas1 1,2,3
2 nas2 2,3,4
3 nas3 2,3,5


現在 2 つの nasid があります: 1、2
上記の 3 つのデータのうち、nasid に 1、2 (少なくとも 1 つの数値が含まれる) を含むすべてのデータをクエリしたいと思います

この SQL の使い方については、専門家のアイデアを教えてください。 などを試してみましたが、効率が低すぎました

-----解決策------ -------- -----
select * from table where find_in_set('1',nasid) または find_in_set('2',nasid)
------解決策----------------------
フルテーブルスキャン、効率はこれ以上高くありません
------解決策------------------
正規表現を使用して検索します。 。


SELECT * FROM `2012` WHERE `2012` REGEXP '(1|2)+'

テストしたところです。システム テスト データベースにアクセスして実行できます。見てみる
------解決策---------
単純なものは問題ありませんが、複雑なものほど A少しではかなり効果がありません。もちろん、現在の関数がある場合は、既成の関数を使用する必要があります。
amani11 さんへ: フル テーブル スキャンの問題について話しましたが、どうやって実行しますか?

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