sql优化—索引

1.之前看一篇利用sql优化器来测试索引,今天正好有时间参考https://blog.csdn.net/fangqun663775/article/details/72303795

也进行了相关测试。

2.首先建立三张表

课程表:

create table Course(
  c_id int PRIMARY KEY,
  name varchar(10) 
)

学生表:

create table Student(
 id int PRIMARY KEY,
 name varchar(10)
)

学生成绩表:
CREATE table SC(
    sc_id int PRIMARY KEY,
    s_id int,
    c_id int,
    score int
)

3.插入数据

inser_course:

inser_student:

 

inser_sc:

 

4.执行语句

SELECT s.* from Student s INNER JOIN SC sc on sc.s_id = s.id where sc.score=100 and  sc.S_id=1

利用plsql的优化器查看执行情况

从sql优化上面看执行顺序是先执行sc全局查询然后关联student.

 

5.建立索引后查看情况

CREATE index sc_score_index on SC(score);

CREATE index sc_s_id_index on SC(s_id);

建立索引后查询顺序是sc索引查询然后在关联student整体减少了1秒

5.之前也试验了很多sql建立索引都没有发现提升,索引的建立一定要根据优化器分析或者其他方式分析后慎重建立。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值