假設獲得這些GROUP_BY統計我有一個像這樣創建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;
此表是非常大的。它有大約1000萬行。 my_boolean_field
唯一可能的值是1
,0
和null
。
現在分開,我有一個500個ID的列表。我們稱之爲my_list
。它們位於由換行符分隔的文本文件中。該文件的名稱是myfile.txt
。此文件中的條目太長,無法包含在SQL語句的單個where
子句中。
我要回答以下問題:
- 多少在
my_table
行已經和ID是在my_list
和my_boolean_field爲空。 my_table
中有多少行的ID爲my_list
,my_boolean_field == 1。- 多少在
my_table
行已經和ID是在my_list
和my_boolean_field == 0。 my_table
中的行數有多少,並且ID不在my_list
且my_boolean_field爲空。my_table
中的行數有多少,並且ID不在my_list
和my_boolean_field == 1中。my_table
中有多少行具有不在my_list
和my_boolean_field == 0中的ID。
什麼是最高效的方式獲得上述6個計數?
爲什麼不把文本文件作爲表加載到數據庫中?那麼查詢將是一個簡單的連接。 –
向我顯示查詢。 –