免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 小木虫子
打印 上一主题 下一主题

2G的myisam表,查询慢,如何优化?【已解决】 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2009-11-05 16:08 |只看该作者
select * from pw_gbook where id>=(SELECT id FROM pw_gbook WHERE uid='48'  LIMIT 1275480,1) ORDER BY postdate DESC   limit 20;

测试一下
select * from
pw_gbook as pw
join
(SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20) as tmp
on pw.uid=tmp.uid;

几乎不会优化,因为join on这个连接还是要进行全表扫描才能建立连接的

[ 本帖最后由 cg111 于 2009-11-5 16:17 编辑 ]

论坛徽章:
0
42 [报告]
发表于 2009-11-05 22:32 |只看该作者
my.cnf 的配置?

你分了多大的 sort buffer ?

论坛徽章:
0
43 [报告]
发表于 2009-11-06 10:49 |只看该作者
SELECT pid FROM cdb_posts

WHERE

invisible IN (-5,-2,0)

AND dateline >= 1226036800  AND dateline <= 1257659199

AND subject != '' AND subject LIKE '%帖子%'
看看这样呢?where条件的顺序也会影响检索效率

论坛徽章:
0
44 [报告]
发表于 2009-11-06 14:43 |只看该作者
这样也不行,主要索引dateline没用上 其他的效率都比较低


说明:对于这个SQL效率低的原因在于数据量太大,为了取得高的效率,在程序方面将时间范围缩小为一个月这样就ok了。

[ 本帖最后由 langwang0070 于 2009-11-6 15:43 编辑 ]

论坛徽章:
0
45 [报告]
发表于 2009-11-06 16:02 |只看该作者
考虑下拆分、归档吧,因为查询的空间大了,所以慢了,解决的办法之一是减少查询空间。

论坛徽章:
0
46 [报告]
发表于 2009-11-06 16:44 |只看该作者
考虑下拆分、归档吧,因为查询的空间大了,所以慢了,解决的办法之一是减少查询空间。

2G的数据库,不算是很大吧???

论坛徽章:
0
47 [报告]
发表于 2009-11-07 05:23 |只看该作者
原帖由 cenalulu 于 2009-11-4 22:05 发表



女孩子头像的哥们。。。。这个称呼很特别啊。。。。



女孩子头像的哥们,
哈哈,有意思,这个称呼很有意思

论坛徽章:
0
48 [报告]
发表于 2009-11-07 15:09 |只看该作者

论坛徽章:
1
处女座
日期:2014-12-23 17:59:27
49 [报告]
发表于 2009-11-09 10:32 |只看该作者
优化确实是个大学问

论坛徽章:
0
50 [报告]
发表于 2009-11-10 16:25 |只看该作者
换SSD硬盘
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP