1.实践中如何优化mysql
1) SQL语句及索引的优化
2) 数据库表结构的优化
3) 系统配置的优化
4) 硬件优化
2.索引的底层实现原理和优化
在 DB2 数据库中索引采用的是 B+ 树的结构,索引的叶子节点上包含索引键的值和一个指向数据地址的指针。DB2 先查询索引,然后通过索引里记录的指针,直接访问表的数据页。
B+树。B+树是应数据库所需而出现的一种B树的变形树。
B+树的特点:
(1)所有叶节点包含全部关键字及指向相应记录的指针,而且叶节点中将关键字按大小顺序排列,并且相邻叶节点按大小顺序相互链接起来。
(2)所有分支节点(可看做索引的索引)中仅包含它的各个子节点(即下一级的索引块)中关键字的最大值即指向其子节点的指针。
(3)B+树中,叶节点包含信息,所有非叶结点仅起到索引作用,非叶节点中的每个索引项只含有对应子树的最大关键字和指向该子树的指针,不含有该关键字对应记录的存储地址。
(4)叶节点包含了所有的关键字,即在非叶节点出现的关键字也会出现在叶子节点中。
B+树有两个头指针,一个指向根节点,另一个指向关键字最小的叶节点。B+树进行两种查找运算:从最小关键字开始的顺序查找,另一种从根节点开始的多路查找。
原理:叶子节点是按关键字大小顺序排列,且增加了指向下一个叶子节点的指针。
优化:InnoDB建议大部分表使用默认的自增的主键作为索引
MsSql、DB2使用的是B+Tree,Oracle及Sysbase使用的是B-Tree
SQL语句的优化
1) <