我已经通过ODBC将MySQL视图链接到MS Access,但它的运行速度很慢。
这是一个简单的选择,它比较另外两个选项以查找第一个选择所独有的记录。
SELECT `contacts_onlinedonors`.`contactkey` AS `contactkey`
FROM (`hal9k3-testbed`.`contacts_onlinedonors`
LEFT JOIN `hal9k3-testbed`.`contacts_offlinedonors`
ON(( `contacts_onlinedonors`.`contactkey` =
`contacts_offlinedonors`.`contactkey` )))
WHERE Isnull(`contacts_offlinedonors`.`contactkey`)
慢查询日志说它在检查了15亿后返回34,000行。基表中只有200,000个。到底是什么?
字段" contactkey"显然是桌上的一个索引。
答案 0 :(得分:2)
首先要做的是“解释”这个查询。 见http://dev.mysql.com/doc/refman/5.0/en/explain.html
这个想法是弄清楚mysql服务器在做什么,它正在使用哪些索引,在需要的地方添加索引,或者重写你的查询以便它可以使用索引。