sql优化笔记

Mysql中会引发性能问题的慢查询,大体有以下几种可能:
1、索引没有设计好;
2、SQL语句没写好;
3、MySQL选错了索引;
4、多表连接的场景:
nest loop join,两表都能在关联字段走上所以时,驱动表选错,选成大表驱动小表。(小表:通过其他条件过滤后,查询结果更少的表。如果没有其他条件,只是两表关联,那小表就是数据量较小的表)

优化手段:
1、根据查询条件,增加索引;
2、改写sql,使用hint绑定执行计划,让查询走上索引或者指定驱动表;
3、对于nest loop join,数据量都很大,关联字段又用不上索引的情况,可以考虑使用临时表存放被驱动表的数据,并且在关联字段上建一个索引;
高版本也可以考虑优化成hash join的方式,减少判断的次数。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server是Microsoft开发的关系型数据库管理系统(RDBMS),用于管理和存储数据。以下是一些SQL Server的笔记: 1. 数据库:SQL Server中的数据库可以包含多个表和视图等对象,每个数据库都有一个唯一的名称和一个文件组,文件组用于存储数据库文件。 2. 表:表是SQL Server中最基本的数据存储单位,表由列和行组成,列定义表中存储的数据类型,行包含实际的数据。 3. 索引:索引是用于加速数据检索的数据结构,SQL Server中有多种类型的索引,包括聚集索引、非聚集索引等。 4. 存储过程:存储过程是由SQL语句和控制语句组成的一段代码,可用于执行数据库操作,存储过程可接收参数和返回值。 5. 触发器:触发器是一种特殊的存储过程,它会在特定的数据库事件发生时自动执行,例如数据插入、更新或删除。 6. 视图:视图是一种虚拟表,它是基于一个或多个表的查询结果构建的,视图可用于简化复杂的查询操作。 7. 外键:外键是用于建立表之间关系的机制,它用于保证数据的完整性和一致性。 8. 事务:事务是一组数据库操作,这些操作要么全部成功,要么全部失败,SQL Server提供了ACID事务机制,确保数据的一致性和可靠性。 9. 安全性:SQL Server提供了强大的安全性功能,包括身份验证、授权、加密等,可用于保护数据库和数据的机密性和完整性。 10. 监控和性能调整:SQL Server提供了多种工具和技术,用于监控数据库的性能和状态,以及对数据库进行性能调整和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值