免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zfol_510

MySQL交叉查询难以置信的慢, 请教高人 [复制链接]

论坛徽章:
0
发表于 2008-03-16 17:13 |显示全部楼层
请教猪兄.
为什么这样的查询必然死..

这个查询虽然不是我写的, 但是我看似乎还是比较正常的嘛. 而且原来在Access下运行一切正常.

谢谢

论坛徽章:
0
发表于 2008-03-16 18:03 |显示全部楼层
这样查询确实相当的慢.呵呵.用视图或存储过程去实现,我想应该快点.

[ 本帖最后由 jason0127 于 2008-3-16 18:05 编辑 ]

论坛徽章:
0
发表于 2008-03-16 18:52 |显示全部楼层
你这个where语句要优化,那可是指数的增长啊.

论坛徽章:
0
发表于 2008-03-17 00:32 |显示全部楼层
解决了吗?
是查询语句的问题吗?那access怎么没问题?
不同的数据库算发有那么大差别吗?

论坛徽章:
1
双子座
日期:2013-08-19 14:56:16
发表于 2008-03-17 11:05 |显示全部楼层
5   
8   
38  
58  
220  
221  
233
299   你把这些数值乘一下,可出来多少条记录
全部都是扫描全表,索引一定要加,where 要优化

论坛徽章:
1
双子座
日期:2013-08-19 14:56:16
发表于 2008-03-17 11:09 |显示全部楼层
在 ×ID列上建索引,使用 left join 应该就可以解决了,或者 嵌套子查询

论坛徽章:
0
发表于 2008-03-17 15:12 |显示全部楼层
是查询语句的问题吗?那access怎么没问题?
不同的数据库算发有那么大差别吗?

一次连接这么多表,哪个数据库都一样.
只是有的数据库会自己做下优化,比如默认情况下表是一个一个的连接的,而不是一次形成一个很大的笛卡尔乘积.
怎么做LS说得很清楚了.

论坛徽章:
0
发表于 2008-03-17 18:36 |显示全部楼层
问题已查清, Access的Export功能有问题. 导出的表中, 所有的PK和FK都消失了.
后来手工添加回去, 并做索引, 现在已经正常了.

至于原来Access速度很快, 我猜应该是它默认对PK和FK做了索引吧.

谢谢各位. 虽然问题不是出在优化上, 但大家说得都对. 我看着散点分吧. 谢谢啦

论坛徽章:
0
发表于 2008-03-17 18:39 |显示全部楼层
好像不能散分...
选了yueliangdao0608 做最佳答案...回答的早也比较详尽

其他的XD们, 赠送口头谢谢一句. 不好意思了

论坛徽章:
0
发表于 2011-04-15 16:14 |显示全部楼层
路过来看看!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP