MySQL触发器里的流程控制语句
实际上就是if 与 if else
我们的流程控制语句可以在业务实现类实现判断
也可以通过数据库MySQL触发器来实现流程控制语句
组合+继承
组合+继承
代码
package com.thjava.chap8; class Cat{ Cat(){ System.out.println("Cat eat fish"); } } class IPeople{ IPeople(){ System.out.println("People is running"); } } class IStaff extends IPeople{ IStaff(){ System.out.println("Staff is working"); } } class IEngineer extends IStaff{ IEngineer(){ System.out.println("Emgineer is writing code"); } } class JavaEngineer extends IEngineer{ Cat c = new Cat(); IPeople p = new IPeople(); IStaff s = new IStaff(); IEngineer e = new IEngineer(); public JavaEngineer(){ System.out.println("------------"); System.out.println("JavaEng is writing Java"); } public static void main(String[] args) { System.out.println("------------"); JavaEngineer err = new JavaEngineer(); System.out.println("------------"); } }
结果
------------ People is running Staff is working Emgineer is writing code Cat eat fish People is running People is running Staff is working People is running Staff is working Emgineer is writing code ------------ JavaEng is writing Java ------------
高级数据库复习
一、索引
1、什么是索引?
一种tree的数据结构
可以理解它的原理就像查字典一样
2、数据结构
Hash、 B Tree树、B+ Tree树 (需要单独详细掌握)
深入点
官方定义的是 是帮助高校获取mysql的数据库
因为是树形结构
查询快
插入, 删除,更新比较慢
所以不是索引越多越好
要看实际需要的
同样索引列也是占用内存的
3、常见索引结构
Btree同时支持InnDB引擎等其它常见的引擎
Btree结构
树中每个节点最多包含m个孩子
除根结点与叶子节点外,每个节点至少有ceil(m/2)个孩子
若跟节点不是叶子节点,那么至少有两个孩子
所有的叶子节点都在同一层
每个非叶子节点都在同一层
每个非叶子节点由n个key与n+1个指针组成
4、一个有趣的SQL优化
二、视图
三、存储过程