MySQL——面试问题(一)(大数据学习)

一、索引

索引是sql优化的核心,一个sql语句是否需要优化(写的好与不好)就看是否使用了索引。——索引就是一个查找的目录。比如新华字典的首页,都会有一个目录,接着才是正文。如果不使用索引,就从数据的第一行开始查找,一行行的查(全文检索)

-- eg:
select * from emp where ename='Jack';  // 如果我将ename 这个字段加上了索引,会先从索引数据中查找到Jack,然后再从数据的表中直接取这个数据。

2、索引的优缺点

  • 1、添加索引,查询速度非常的快
  • 2、新增,修改和删除数据比较慢
  • 3、添加索引,无形中占用了我们的空间(数据便会分为:索引数据+普通数据)

3、添加索引的原则

经常查询的字段,添加索引,不经常查询的字段,就不要添加索引。

  • 1、经常查询的字段,添加索引,不经常查询的字段,就不要添加索引。
  • 2、字段中的数据,如果有大量重复的,该字段不能添加
  • 3、一个表中的外键字段可以添加索引,因为这个字段经常与另一个表进行关联查询
  • 4、进行排序的列,可以添加索引  eg:order by sal;
  • 5、在进行范围查找的字段可以添加索引。 eg:age between 20 and 40;

注:一个表不要添加很多索引,否则,插入数据的速度会非常的慢,而且占用空间。比如十几个字段的这样一个表,最多2~3个索引。

4、索引的分类

  • 1、主键索引:所有的主键都是⼀种索引,天然的。
  • 2 、唯⼀索引:将⼀个类设置为unique ,这种设置也是⼀种索引。
  • 3 、普通索引:表中的普通类,可以设置为普通索引

5、索引如何使用

create table sc01(
  sid int primary key auto_increment,
  sname varchar(20),
  score int ,
  index(score)
);

-- 查看索引:
show index from sc01;

-- 删除索引
alter table sc01 drop primary key;
alter table sc01 drop index sname;

-- 如果设计表的时候忘记添加索引,可以后来追加
alter table sc01 add primary key(sid); // 追加主键
alter table sc01 add unique(sid); // 追加唯一索引
alter table sc01 add index sname; // 追加普通索引

6、存储过程讲解

存储过程其实就是一个类似于方法的SQL片段,用于提供一个功能。可以反复调用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值