- 论坛徽章:
- 0
|
50可用积分
公司的一个项目, 打算从Access转到MySQL. 想不到转了以后执行某些查询惊人的慢.
可以排除是连接方式的事情, 我直接在mysql里面执行查询效率也一样, 可以排除是机器的问题, 我换了两台机器, 我在公司的工作机P4 2.8G/1G内存要1400多秒, 我家里的机器, AMD4400+ X2,要300秒左右.我试过使用各个版本的my.ini, 没有好转.
原本在Access里面结果基本是瞬间出来的, 原Access库也没有做过index.所有的交叉查询速度都下降了.
请MySQL高人救我....我当时拍着胸脯跟PM说转到MySQL有种种好处, 现在居然来这么一下.
贴个查询的例子在下面, 数据库非常小. 不到1w条纪录, 这个搜索的结果也很少, 40多条吧. 如果有热心人想重现,我可以发给你.sql文件, 12M, 压缩以后700k. 先谢谢高人了.
MySQL版本是5.1
SELECT distinct tsl.TestSuiteID, tsl.TestSuiteName, tsl.TPrefix,
tps.ID, tcp.TestCaseID, tpl.Name, tpl.Version,
tps.Name AS ScriptName, tps.Version AS ScriptVersion
FROM TEST_CASE_PROCEDURE tcp,
TEST_PROCEDURE_LABEL tpl,
TEST_PROCEDURE_SCRIPT tps,
EVENT_SCRIPT es,
TEST_EVENT te,
TEST_CASE tc,
TEST_SUITE_LIST tsl,
PROJECT p
WHERE tcp.ID = tps.TestCaseProcedureID
AND tpl.ID = tcp.TestProcedureLabelID
AND es.TestProcedureScriptID = tps.ID
AND te.TestEventID = es.TestEventID
AND tc.TestCaseID = tcp.TestCaseID
AND tsl.TestSuiteID = tc.TestSuiteID
AND te.ProjID = p.ProjectID
AND p.CoreID = 11
ORDER BY tcp.TestCaseID, tpl.Name, tpl.Version DESC,
tps.Name, tps.Version |
[ 本帖最后由 zfol_510 于 2008-3-15 18:58 编辑 ] |
最佳答案
查看完整内容
TYPE 全是ALL.一个索引都不见,肯定会非常的慢!!!!而且你还这么多表做连接。
|