数据库MySQL

1B+树的实现

A.从根结点开始,沿纵向搜索路径找到x所在的叶结点d,如果d未满,把x插入到叶结点d的有序位置上,插入完毕。否则进入下一步。
B.叶d已满,叶长达到K+1,将d一分为二:
a. 产生新叶e,将d的下部K/2个元素从d移入e,另一半留在d中。
b.设d的父亲是f,给f加一个儿子e,e排在d之右侧,将e的最小元素的值加到f中作为新索引项。如果f不超长,则插入结束;否则,进入下一步。
c.将f分裂成f和g,并递归地将g插入上一层中。
d.若插入波及到根,把根一分为二,并产生新根。

2设置MySQL为严格模式

编辑MySQL的安装目录中的my.cnf
将sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
改为sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

3grant all改为select . 改为指定用户权限

设置用户testall拥有所有权限
grant all privileges on . to testall@localhost identified by “root” WITH GRANT OPTION ;
设置用户testsein拥有查询和插入权限
grant select,insert on . to testsein@localhost identified by “root” ;

4B+树修改page页大小

在源码中查找UNIV_PAGE_SIZE
默认的是16K
该值必须为2的次方。如4k,8k,16k,32K,64K

5truncate和delete区别

1.delete是DML语句,truncate是DDL语句;
2.delete后面可以有where条件,truncate后面不能加where条件;
3.delete操作后,事务提交后才会生效,truncate操作后立即生效,所以truncate要比delete得执行效率高;
4.delete操作后,是按行删除,原数据会放到rollback segment中,可进行回滚。truncate执行是立即生效的,不记录行删除信息,而是直接重构表,所以不能回滚;
5.delete执行后,会产生数据碎片,只删除数据,不会改变表空间大小。truncate执行后,数据库表会恢复至初始状态;

6触发器

在写入数据前,强制检验或者转换数据用于保证护数据安全,触发器发生错误时,用户已经执行成功的操作会被撤销。

7substring和substr的异同

同:substr 和 substring都使用JavaScript 截取字符串函数
异:substr第二个参数指从某处开始截取+截取长度,substr第二个参数是从左闭右开的截取区间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡锦成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值