»
游客:
注册
|
登录
|
搜索
|
统计
|
帮助
喜悦国际村
»
php基础编程
» 为何MYSQL建立索引后速度变慢??(图文并茂版)
喜悦证交所已经关闭
上一主题
下一主题
标题:
[问题]
为何MYSQL建立索引后速度变慢??(图文并茂版)
dreamblaze
金牌会员
村长他哥
UID 78956
精华 0
积分 1008
帖子 1022
金钱 872 喜悦币
威望 0
人脉 136
阅读权限 70
注册 2006-8-24
来自 福州
状态 离线
[广告]:
q
m
为何MYSQL建立索引后速度变慢??(图文并茂版)
IP库一共有33W+条数据,有两个字段 ip_start和ip_end,分别是某地IP范围的起始值和结束值(下图一)
使用类似下面的SQL
CODE:
[Copy to clipboard]
SELECT * FROM `wl_ip_data` where ip_start<68374213 and ip_end>68374213(不加limit1 )
来查询IP范围
刚才测试了一下四种索引情况,分别是
CODE:
[Copy to clipboard]
1.两个都不做索引 耗时:0.0010S
2.两个分别做索引 耗时:0.5S 左右
3.两个合一起做索引 耗时:1.45S 左右
4.只拿其中一个做索引 耗时:0.5S 左右
这是为啥?不加limit 1的话不做索引的速度竟然是做完索引的N倍!哪位大大能分析下原理?
[
本帖最后由 dreamblaze 于 2008-2-28 05:11 PM 编辑
]
附件:
您所在的用户组无法下载或查看附件
天下流氓数吾乡
吾乡流氓数吾庄
吾庄流氓数吾弟
吾教吾弟耍流氓
2008-2-28 05:06 PM
#1
akstrom
(akstrom)
金牌会员
村口大榕树上的知了
UID 24856
精华 0
积分 1082
帖子 1088
金钱 949 喜悦币
威望 0
人脉 133
阅读权限 70
注册 2003-11-27
来自 广州
状态 离线
[推荐阅读]
放一些能玩玩的股,希望万恶的资本家不要在把它们放到厕所里了!
你加了索引后记得整理下数据库,然后再查询看看
电子商务系统
后台/admin
用户名密码一样admin
',“╭⌒╮⌒╮╮
╱◥██◣,.
︱田︱田田| '',,',.
╬╬╬╬╬╬╬╬╬╬╬╬
2008-2-28 05:08 PM
#2
dreamblaze
金牌会员
村长他哥
UID 78956
精华 0
积分 1008
帖子 1022
金钱 872 喜悦币
威望 0
人脉 136
阅读权限 70
注册 2006-8-24
来自 福州
状态 离线
[推荐阅读]
[外包]类似分类信息的WEB2.0网站开发
QUOTE:
你加了索引后记得整理下数据库,然后再查询看看
没有碎片。。。刚刚才导入的IP库
天下流氓数吾乡
吾乡流氓数吾庄
吾庄流氓数吾弟
吾教吾弟耍流氓
2008-2-28 05:10 PM
#3
akstrom
(akstrom)
金牌会员
村口大榕树上的知了
UID 24856
精华 0
积分 1082
帖子 1088
金钱 949 喜悦币
威望 0
人脉 133
阅读权限 70
注册 2003-11-27
来自 广州
状态 离线
[推荐阅读]
高薪急聘php程序员
不是碎片,是优化的,因为好像索引如果修改是要优化重新建立的
电子商务系统
后台/admin
用户名密码一样admin
',“╭⌒╮⌒╮╮
╱◥██◣,.
︱田︱田田| '',,',.
╬╬╬╬╬╬╬╬╬╬╬╬
2008-2-28 05:19 PM
#4
wildlily980
中级会员
中级会员
UID 38831
精华 0
积分 376
帖子 395
金钱 376 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-10-24
状态 离线
[推荐阅读]
请教一个语法问题
首先,一次查询只会使用一个索引。
其次,当一个查询的命中率超过总数据的1/3时,不会使用索引。看你的情况 ip_start<68374213 ip_end>68374213 这个查询很有可能超过1/3,因为单独使用它们中的任何一个,都会是一个庞大的数据量。
最后,你的执行查询的顺序会影响你的数据库的缓存,会对速度有很大的影响。
2008-2-28 09:28 PM
#5
dreamblaze
金牌会员
村长他哥
UID 78956
精华 0
积分 1008
帖子 1022
金钱 872 喜悦币
威望 0
人脉 136
阅读权限 70
注册 2006-8-24
来自 福州
状态 离线
[推荐阅读]
PHP如何采集这种网页?(高难度,挑战采集极限)
QUOTE:
不是碎片,是优化的,因为好像索引如果修改是要优化重新建立的
不知道咋建立。。我如果语句后面加上limit 1的话 两个字段分别做索引的速度就上来了,能达到0.0007s
QUOTE:
最后,你的执行查询的顺序会影响你的数据库的缓存,会对速度有很大的影响。
您指的查询顺序是?是指查询条件 ip_start<68374213 and ip_end>68374213 两个对调下吗?可是我试了下还都是0.5s。。。
天下流氓数吾乡
吾乡流氓数吾庄
吾庄流氓数吾弟
吾教吾弟耍流氓
2008-2-29 09:11 AM
#6
liuxingyuyuni
(liuxingyuyuni)
中级会员
初级会员
UID 68417
精华 0
积分 439
帖子 55
金钱 439 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-2-6
状态 离线
[推荐阅读]
南京公司招聘中级php程序员(3k-6k)
因为没有主索引?
这个比较有意思...
[
本帖最后由 liuxingyuyuni 于 2008-2-29 07:34 PM 编辑
]
2008-2-29 07:31 PM
#7
dreamblaze
金牌会员
村长他哥
UID 78956
精华 0
积分 1008
帖子 1022
金钱 872 喜悦币
威望 0
人脉 136
阅读权限 70
注册 2006-8-24
来自 福州
状态 离线
[推荐阅读]
菜鸟求教,SMARTY分页问题.
QUOTE:
原帖由
liuxingyuyuni
于 2008-2-29 07:31 PM 发表
因为没有主索引?
这个比较有意思...
id字段就是主索引,可是这里没用到
天下流氓数吾乡
吾乡流氓数吾庄
吾庄流氓数吾弟
吾教吾弟耍流氓
2008-2-29 09:40 PM
#8
漠北怪叟
金牌会员
UID 70640
精华 0
积分 2374
帖子 393
金钱 2374 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-3-29
状态 离线
[推荐阅读]
输出目录下所有文件的问题
你查IP表.为何要把主索引建在ID上呢?
我的博客:http://hjc73.space.mywallop.cn,换窝了,http://my.haokan123.com/?104 自己开发的博客自己撑~
2008-3-1 09:49 AM
#9
lyhiving
(lyhiving)
注册会员
初级会员
UID 29173
精华 0
积分 53
帖子 86
金钱 53 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-6-5
状态 离线
[推荐阅读]
成都九建科技有限公司招聘PHPer
将varchar缓存char效果会好点
2008-3-1 09:53 PM
#10
可打印版本
|
推荐给朋友
|
订阅主题
|
收藏主题
|
开通个人空间
论坛跳转 ...
技术论坛
> php基础编程
> PHP高级编程
> XML/HTML/CSS/Js
> 代码共享
> 建站讨论
> 喜悦原创
> 开源程序论坛
> ECShop官方技术论坛
> LAMP进阶文章
> JAVA/C/C++
> Windows/软硬件
> linux技术
> 数据库技术
非技术论坛
> 娱乐乐园
> 招聘&求职
> 跳蚤市场
> 广告时间
> 联盟项目组
> 站务问题
Powered by
Discuz!
6.1.0
© 2001-2010
Comsenz Inc.
Processed in 0.025657 second(s), 6 queries
(
冀ICP备05009913号
)
管理员:
sadly 邮箱/MSN: sadly@phpx.com QQ:824008
(长隐)
清除 Cookies
- -
Archiver
-
WAP