数据库索引创建

通常在查询的时候数据量大的话会非常慢,因此用到了数据库索引,一般使用用普通索引就已经基本上满足了需要,

数据库创建索引

1、普通索引创建

mysql> create index idx_userinfo on userinfo(JobType);

或者是创建多列的组合索引:

mysql> create index idx_userinfo on userinfo(TelePhone,FullName,UserId,JobType);

 

2、使用索引对比:

例子:查询某个表的数据并且去重,然后存储到临时表中;

创建索引前:

mysql> create table userinfo_tmp as select DISTINCT TelePhone,FullName,UserId,JobType from userinfo where length(JobType)=6;
Query OK, 160265 rows affected (11 min 10.06 sec)
Records: 160265  Duplicates: 0  Warnings: 0

创建组合索引后:

mysql> create table userinfo_tmp as select DISTINCT TelePhone,FullName,UserId,JobType from userinfo where length(JobType)=6;
Query OK, 160265 rows affected (7.76 sec)
Records: 160265  Duplicates: 0  Warnings: 0

从上面可以看到索引的效率,两者相差了差不多100倍,

网上很多人都说分组去重等不会用到索引,实际上是不完全正确的,上面的例子中也有使用distinct去重,完全是可以使用到索引的!

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值