mysql 索引

索引:对数据库来说,索引的作用就是给“数据”加目录
好处:
加快了查询速度(select)
坏处:
降低了增、删、改的速度(update/delete/insert)
增大了表的文件大小(索引文件甚至可能比数据文件还大)

案例:
设有新闻表15列,10列上有索引,共500w行数据,如何快速导入?
1、把空表的索引全部删除
2、导入数据
3、数据导入完毕后,集中建索引

索引的创建原则:
1、不过度索引
2、索引条件列(where后面最频繁的条件比较适宜索引)
3、索引散列值,过于集中的值不要索引
例如:给性别“男”,“女”加索引,意义不大

.frm       结构文件
.MYD    数据文件
.MYI      索引文件

普通索引    index
仅仅是加快查询速度。
唯一索引    unique index
行上的值不能重复
主键索引    primary key
主键不能重复,主键必唯一,但是唯一索引不一定是主键;
一张表上,只能有一个主键,但是可以用一个或多个唯一索引。
全文索引    fulltext index

查看一张表上所有索引
show index from 表名

建立索引
alter table 表名 add index/unique/fulltext [索引名](列名)
alter table member add index tel (tel);
alter table 表名 add primary key(列名)//不要加索引名,因为主键只有一个

删除索引
删除非主键索引:alter table 表名 drop index 索引名;
删除主键:alter table 表名 drop primary key;

关于全文索引的用法
Match(全文索引字段) against ('keyword')

关于全文索引的停止词
全文索引不针对非常频繁的词做索引。
如:this,is ,you,my等等。

全文索引:在mysql的默认情况下,对于中文意义不大。
因为英文有空格,标点符号来拆成单词,进而对单词进行索引。
而对于中文,没有空格来隔开单词,mysql无法识别每个中文词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值