优化1——数据库优化面试题

本文探讨了数据库优化的各个方面,包括SQL语句优化、索引优化、表结构优化和系统配置优化。详细讲解了B+树索引的原理,并提供了SQL语句优化的实例,如避免使用LIKE '%...'、IN和OR操作,以及使用EXISTS替代NOT IN。此外,还提到了如何处理空值和避免计算操作以充分利用索引。最后,提出了设计高并发系统的策略,如合理事务隔离级别、缓存使用和分布式数据库。
摘要由CSDN通过智能技术生成

1.实践中如何优化mysql

1) SQL语句及索引的优化

2) 数据库表结构的优化

3) 系统配置的优化

4) 硬件优化

 

2.索引的底层实现原理和优化

DB2 数据库中索引采用的是 B+ 树的结构,索引的叶子节点上包含索引键的值和一个指向数据地址的指针。DB2 先查询索引,然后通过索引里记录的指针,直接访问表的数据页。

B+树。B+树是应数据库所需而出现的一种B树的变形树。

B+树的特点:

1)所有叶节点包含全部关键字及指向相应记录的指针,而且叶节点中将关键字按大小顺序排列,并且相邻叶节点按大小顺序相互链接起来。

2)所有分支节点(可看做索引的索引)中仅包含它的各个子节点(即下一级的索引块)中关键字的最大值即指向其子节点的指针。

3B+树中,叶节点包含信息,所有非叶结点仅起到索引作用,非叶节点中的每个索引项只含有对应子树的最大关键字和指向该子树的指针,不含有该关键字对应记录的存储地址。

4)叶节点包含了所有的关键字,即在非叶节点出现的关键字也会出现在叶子节点中。

B+树有两个头指针,一个指向根节点,另一个指向关键字最小的叶节点。B+树进行两种查找运算:从最小关键字开始的顺序查找,另一种从根节点开始的多路查找。

原理:叶子节点是按关键字大小顺序排列,且增加了指向下一个叶子节点的指针。

优化:InnoDB建议大部分表使用默认的自增的主键作为索引

MsSqlDB2使用的是B+TreeOracleSysbase使用的是B-Tree

SQL语句的优化

1) <

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值