我有以下查询,我正在使用这两个运算符来获取具有特定数字之间的年龄的记录,但查询花了很多时间来显示结果,其鸭舌超过5分钟仍运行查询花费很长时间执行
SELECT
*,
(SELECT COUNT(*)
FROM users
WHERE
1=1 OR
LOWER(age) BETWEEN 18 AND 20 OR
LOWER(age) BETWEEN 20 AND 25 OR
LOWER(age) BETWEEN 25 AND 30 OR
LOWER(age) BETWEEN 30 AND 35
) AS totalcount
FROM users, states, countries, user_types, media
WHERE
users.id_user_type = user_types.id AND
users.id_state = states.id AND
users.id_country = countries.id AND
media.id_user = users.id AND
media.profile_photo = 1 AND
users.id_user_type = 3 OR
LOWER(age) BETWEEN 18 AND 20 OR
LOWER(age) BETWEEN 20 AND 25 OR
LOWER(age) BETWEEN 25 AND 30 OR
LOWER(age) BETWEEN 30 AND 35
ORDER BY users.id
令人不安的部分是:使用or
条款你有(它没有意义)
LOWER(age) BETWEEN 18 AND 20 OR
LOWER(age) BETWEEN 20 AND 25 OR
LOWER(age) BETWEEN 25 AND 30 OR
LOWER(age) BETWEEN 30 AND 35
你是什么试图用这个查询来检索? – 2014-11-02 12:57:24
你怎么得出这样的结论:查询的那一部分是令人不安的部分? – Guffa 2014-11-02 12:57:29