数据库基础问答Q&A

本文介绍了从服务器角度排查SQL性能问题的方法,如观察CPU占用,以及如何定位问题SQL,如使用AWR。同时,通过检查SQL结果正确性和业务角度分析,配合explain plan进行SQL性能调优。
摘要由CSDN通过智能技术生成
三范式
1NF:原子性,字段不可分;
2NF:唯一性,有主键,非主键字段依赖主键;
3NF:每列都与主键有直接关系,不存在传递依赖,非主键字段不能相互依赖;

例子:
1NF:(关系数据库中create不出这样的表)
2NF:无主键,存在问题:插入异常。
3NF:
学生表:学号, 姓名, 所在学院, 学院电话,关键字"学号";
存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话)
存在问题:数据冗余
修正:
学生表:学号, 姓名, 所在学院;
学院表:学院, 电话。

注:NoSQL中与关系型数据库其中最大的不同点是不支持1NF,不固定属性,可以为数组。

性能调优

1、服务器角度,方法:观察CPU占用等排除非SQL的问题。

2、定位哪条SQL问题,方法:AWR(Oracle才有)。
3、SQL结果是否正确,方法:有历史纪录看历史,无则观察测试环境。
4、从业务角度分析SQL性能。
5、从SQL角度分析SQL性能,方法:explain plan,具体调优如下:

(1)加index(减少全表扫描)
(2ÿ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值