免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 奶茶dsk
打印 上一主题 下一主题

【已解决】mysql查询比较慢,麻烦大家帮忙看看可还有优化的空间? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-04-20 12:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
12 [报告]
发表于 2012-04-20 12:51 |只看该作者
kerlion 发表于 2012-04-20 12:24
有分区有索引吗,现在是什么执行计划


我去研究下分区的原理

论坛徽章:
0
13 [报告]
发表于 2012-04-20 12:54 |只看该作者
kerlion 发表于 2012-04-20 12:50
每天8000W,你的表现在又多大,2小时有750W行数据罗
如果没分区,stime, etime上有索引,我相信MyISAM快!


data文件有5G,索引文件有0.7G

请假下,

mysql对于where中对于<或者>这种条件表达式,索引会有效果吗?

论坛徽章:
0
14 [报告]
发表于 2012-04-20 12:57 |只看该作者
不加索引,会回表,你这样好歹走索引rang  

论坛徽章:
0
15 [报告]
发表于 2012-04-20 12:59 |只看该作者
ooooldman 发表于 2012-04-20 12:57
不加索引,会回表,你这样好歹走索引rang


good..

论坛徽章:
0
16 [报告]
发表于 2012-04-20 13:22 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
17 [报告]
发表于 2012-04-21 10:04 |只看该作者
谢谢yeehya 顶贴

谢谢ooooldman 和 kerlion

现在的解决方法是按每天24小时分成24个区,
时间去掉data,将时分秒转换成秒数,用整型保存,并建立索引。

现在的查询速度可以达到5s以内了。

That is all...

论坛徽章:
0
18 [报告]
发表于 2012-04-21 11:52 |只看该作者
能否用int来存时间戳呢?datetime这个如果用>,<之类的,他会一些函数的转换

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
19 [报告]
发表于 2012-04-22 18:14 |只看该作者
高手就是多阿,学到了!

论坛徽章:
0
20 [报告]
发表于 2012-04-23 10:08 |只看该作者
本帖最后由 龙雪刚 于 2012-04-23 10:10 编辑

datetime,timestamp本身在mysql内部就是用整数来存的,所有没有必要转换成整数。
datetime占用8字节,timestamp占用四字节。换成timestamp索引大小要减少一半,但它能表示的最大时间为2038年。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP