explain
SELECT
ip_src,
(SELECT country FROM ip_location WHERE ip_start between (134744072-500000) and (134744072) and ip_end > 134744072) country_src,
ip_dst
FROM
event e
WHERE
long_date BETWEEN '2016-03-25 00:00:00' AND '2016-03-25 23:59:59'
LIMIT 1
分区修剪工作
explain
SELECT
ip_src,
(SELECT country FROM ip_location WHERE ip_start between (ip_src-500000) and (ip_src) and ip_end > ip_src) country_src,
ip_dst
FROM
event e
WHERE
long_date BETWEEN '2016-03-25 00:00:00' AND '2016-03-25 23:59:59'
LIMIT 1
我有 2 个查询,ip_src 值为 134744072。
我的 Ip_location 表按 ip_start 列上的范围进行分区。当我运行第一个查询时,它通过分区修剪完成,但在第二个查询中它访问所有分区。
任何人请给我线索,我环顾四周,不知道发生了什么,谢谢你之前:)