mysql索引如何更新及索引的建立
时间:2011-07-08
来源:互联网
大家好,我遇到索引方面的问题,请教一下:
1.比如说我有个字段 username varchar(36),我创建索引的代码是alter table user_table add index(username),这样建立的索引是前缀索引还是全字段字节数的索引?
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
我主要是遇到了这个问题才让我想到了这么多问题,先谢谢大家了,我所有的分都奉上了
1.比如说我有个字段 username varchar(36),我创建索引的代码是alter table user_table add index(username),这样建立的索引是前缀索引还是全字段字节数的索引?
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
我主要是遇到了这个问题才让我想到了这么多问题,先谢谢大家了,我所有的分都奉上了
作者: salley_2010 发布时间: 2011-07-08
1.比如说我有个字段 username varchar(36),我创建索引的代码是alter table user_table add index(username),这样建立的索引是前缀索引还是全字段字节数的索引?
全字段字节数的索引
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
alter table user_table add index(username);这句完全没必要
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
唯一索引就是特殊点得普通索引
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
mysql只有BTREE
全字段字节数的索引
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
alter table user_table add index(username);这句完全没必要
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
唯一索引就是特殊点得普通索引
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
mysql只有BTREE
作者: rucypli 发布时间: 2011-07-08
1.比如说我有个字段 username varchar(36),我创建索引的代码是alter table user_table add index(username),这样建立的索引是前缀索引还是全字段字节数的索引?
全字段字节数的索引
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
挂掉 是指什么?
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
如果是同一字段,则不需要,如果是不同字段,则需要。
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
在MYSQL中这个由MYSQL来选择,你没什么选择的权力。
全字段字节数的索引
2.我发现我的username字段的数据当中有这样两条('partners metal','partnersmetal'),使用了alter table user_table add index(username);alter table user_table add unique index(username) 建立了唯一性索引,但是当我查询这两条记录的时候数据库就会挂掉,实在不知道问题是出在哪里,附查询语句:select * from user_table where username='partnersmetal';select * from user_table where username='partners metal'?
挂掉 是指什么?
3.还有我想问下建立了唯一性索引之后,还需要不需要建立普通索引来提高查询速度?
如果是同一字段,则不需要,如果是不同字段,则需要。
4.索引方法有好几种,我不知道在什么样的情况下用哪种比较合适,索引方法(BTREE, FULLTEXT, HASH, RTREE)。
在MYSQL中这个由MYSQL来选择,你没什么选择的权力。
作者: ACMAIN_CHM 发布时间: 2011-07-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28