ユーザーテーブルには
id, email, password, gender, dob
など。性別はデフォルトの null です。と を持つ別のテーブルuser_gender
がfirst_name
ありgender
ます。私のSQLクエリは、に基づいてユーザーを取得しUser
、性別を選択しています。ユーザー テーブルは巨大で、約 300,000 行以上あります。以下のクエリを実行していますが、時間がかかりすぎています。このクエリを最適化するにはどうすればよいですか?-User_Gender
first_name
select
count(*)
from user u
left outer join user_gender ug on ug.name =
case when locate(' ', u.name) > 0 then
substring(u.name, 1,locate(' ', u.name))
else
u.name
end
where
ug.gender != 'mf' and u.gender is null