MySQL开发技巧 - 分页和索引(二)

本文介绍了MySQL中的索引概念,包括主键索引、普通索引和唯一索引,强调了索引在提升查询性能方面的作用。通过示例展示了如何创建不同类型的索引,并提供了创建表结构及索引的SQL语句。
摘要由CSDN通过智能技术生成

时间煮雨
@R星校长

什么是索引?

索引是一张特殊的表,该表保存了主键与索引字段,并指向实体表的记录。

先假设有一张表student,表的数据有100万条数据,其中有一条数据是 name="xiaoming",如果要拿这条数据的话需要写的sql

select * from student where name='xiaoming'

一般情况下,在没有建立索引的时候,MySQL 需要扫描全表及扫描100万条数据找这条数据,这个效率实际上是非常慢的,那么有什么优化方法呢?答案就是索引。

如果我在name字段上建立索引,那么 MySQL只需要扫描一行数据及为我们找到这条name='xiaoming'的数据,是不是感觉性能提升了好多咧….

单列索引分类和创建

我们使用最常见的是单列索引,分为主键索引、普通索引和唯一索引。

1.主键索引

主键索引一般在建表时创建,不允许有空值并且值唯一,最好是与表的其他字段不相关的列或者是业务不相关的列。一般会设为 int而且是 AUTO_INCREMENT自增类型的,例如一般表的 id字段。

创建主键索引一般建表时使用primary关键字,例如如下语句:

CREATE TABLE `student` (
  `ID` int(11) NOT NULL A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值