0
は、私がこのように作成されたMySQLのテーブルがあるとします。このMySQLテーブルを最も効果的な方法でクエリするには?
CREATE TABLE `my_table` (
`my_id` char(32) NOT NULL,
`my_boolean_field` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`my_id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
このテーブルは非常に大きいです。それには約1,000万行があります。 my_boolean_field
の値は1
,0
、null
です。
今は別に、私は500のIDのリストを持っています。これをmy_list
としましょう。それらは、改行で区切られたテキストファイル内にあります。そのファイルの名前はmyfile.txt
です。
私は次の質問に答えたい:
- どのように多くの
my_table
の行があり、my_list
にあり、my_boolean_fieldがnullのID。 my_table
の行数とIDはmy_list
で、my_boolean_field == 1です。my_table
の行数とmy_list
とmy_boolean_field == 0にあるID。my_table
の行数とmy_list
にないIDがあり、my_boolean_fieldがnullです。my_table
の行数とmy_list
およびmy_boolean_field == 1にないIDがあります。my_table
の行数とmy_list
およびmy_boolean_field == 0にないIDがあります。
上記の6つのカウントを得る最も効果的な方法は何ですか?
オリジナルの質問に私の編集を見ることができますか? 500個のIDのリストはテキストファイルにあります。単一のSQLステートメントに収めるには時間がかかりすぎます。 –
@ SaqibAli。 。 。 500個のIDからクエリを作成できます。あるいは、 'id'の主キーを使ってテーブルにロードすることもできます。 –