MySQL SQL使用force index where子句离开了join

时间:2014-09-12 07:14:16

标签: sql indexing left-join

SELECT
partner_id, click_date, sum(clicks) as clicks
FROM
daily_metric
LEFT JOIN transaction ON daily_metric.partner_id = transaction.partner_id
FORCE INDEX (click_date_index) WHERE click_date BETWEEN :ycp0 AND :ycp1
GROUP BY partner_id , click_date) 

我有wrond syntacs:

您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'FORCE INDEX(click_date_index)附近使用正确的语法WHERE click_date BETWEEN'2014-09-01'和'2014-0'在第26行。

索引用于where子句,我的syntacs有什么问题?

1 个答案:

答案 0 :(得分:1)

试试这个,因为他FORCE / USE / IGNORE追踪你加入的桌名:

SELECT
partner_id, click_date, sum(clicks) as clicks
FROM
daily_metric
LEFT JOIN transaction
FORCE INDEX FOR JOIN (click_date_index) ON daily_metric.partner_id = transaction.partner_id 
WHERE click_date BETWEEN :ycp0 AND :ycp1
GROUP BY partner_id , click_date)