免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4232 | 回复: 21
打印 上一主题 下一主题

神奇的mysql数据库索引 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-01 21:46 |只看该作者 |倒序浏览
有一个数据表 number 约200万条数据

关健字段class_id
其中class_id = 1 数据约为20条,其余class_id为2

20个用户,每隔 1秒查询该表一次 select * from number where class_id = 1

服务器每10秒约有3~4秒时间CPU在 20%~40%左右浮动。

给class_id字段加上索引以后。
服务器每CPU在 基本在 0.5%左右,不超过 1%。
索引,还真是神了~!

论坛徽章:
0
2 [报告]
发表于 2009-10-02 11:17 |只看该作者
没有索引的话,mysql每秒要查200W数据,有了索引以后,每秒只需要查20秒。
当然,你如果要查class_id为2的话,还是会查200W数据进行全表扫描的

论坛徽章:
0
3 [报告]
发表于 2009-10-07 13:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
4 [报告]
发表于 2009-10-07 15:16 |只看该作者
原帖由 vickemble 于 2009-10-7 13:25 发表
我只用存储过程,从来不用索引。


这个根本就是两个概念么。。。

论坛徽章:
0
5 [报告]
发表于 2009-10-07 16:04 |只看该作者
原帖由 vickemble 于 2009-10-7 13:25 发表
我只用存储过程,从来不用索引。

lz入门了
ls~~~~
不用索引,没人管你~~

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
6 [报告]
发表于 2009-10-07 16:39 |只看该作者
原帖由 vickemble 于 2009-10-7 13:25 发表
我只用存储过程,从来不用索引。



牛人!!

论坛徽章:
0
7 [报告]
发表于 2009-10-07 17:02 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
8 [报告]
发表于 2009-10-08 08:25 |只看该作者
原帖由 vickemble 于 2009-10-7 17:02 发表


MySQL自己自动创建的索引不管。如果要我自己创建索引表,我当然不干。

索引是速度快一点,但是稍微更新一下数据,哪怕是一个字符,整个索引表就要重建,非常不稳定,容易死机。

其实,索引表就是新建 ...


你说的mysql自动创建和你自己手动创建是什么?

论坛徽章:
0
9 [报告]
发表于 2009-10-08 08:49 |只看该作者
原帖由 vickemble 于 2009-10-7 13:25 发表
我只用存储过程,从来不用索引。



老兄你是不是非得雷死CU的每个版块才安心啊

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
10 [报告]
发表于 2009-10-08 10:37 |只看该作者
原帖由 vickemble 于 2009-10-7 17:02 发表


MySQL自己自动创建的索引不管。如果要我自己创建索引表,我当然不干。

索引是速度快一点,但是稍微更新一下数据,哪怕是一个字符,整个索引表就要重建,非常不稳定,容易死机。

其实,索引表就是新建 ...


什么东西都自动还要 DBA干嘛?你建存储过程不也是“手动”写的。。。
重建索引都死机的机器,你还做服务器?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP