B树在提高了磁盘IO性能的同时并没有解决元素遍历的效率低下的问题,
而B+树只需要遍历叶子节点就可以解决对全部关键字信息的扫描,
所以对于数据库中频繁使用的range query,B+树有着更高的性能。
B+树的内部结点并没有指向关键字具体信息的指针。因此其内部结点相对B树更小。
如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多
一次性读入内存中的需要查找的关键字也就越多。相对来说I/O读写次数也就降低了。
由于内部结点并不是最终指向文件内容的结点,而只是叶子结点中关键字的索引。
所以任何关键字的查找必须走一条从根结点到叶子结点的路。
所有关键字查询的路径长度相同,导致每一个数据的查询效率相当。
select * from Member limit 10000,100
select * from Member where MemberID >= (select MemberID fro
m Member limit 100000,1) limit 100
select * from orders_history where type=2 and id between 1000
000 and 1000100 limit 100;
一般是并发量大或者数据量大
TDDL、mycat、sharding-jdbc
A表示需要分割的表
原来的代码对A表进行增删改的地方,都加上对新库的增删改代码
新库同时导老库的数据
同时根据"修改时间"字段判断是否写入
循环几次,基本能保证新老一致
1 + 41 + 10 + 12
不用+时间戳+工作机器id+同一毫秒内的数字
主从架构,一个主库挂上一个或者多个从库,通过mysql的同步功能
(1). varchar与char的区别 (2). varchar(50)中50的涵义 (3). int(20)中20的涵义 (4). mysql为什么这么设计
事务
(1). 有多少种日志;
(2). 事物的4种隔离级别 (3).事务是如何通过日志来实现的,说得越深入越好。
1). binlog的日志格式的种类和分别 (2). 适用场景; 结合第一个问题,每一种日志格式在复制中的优劣。
1. 查看日志
2. 查看当前进程
3. 没有经验的,可以不问; (2). 有经验的,问他们的处理思路。
1. 语句类型
2. 索引
3. 行数
(1). 备份计划;
(2). 备份恢复时间;
(3). xtrabackup实现原理
阿里的during,有提供看板
utf8-mb4
1. 注释
2. 字典表
join会有性能消耗
不拆
for update,根据主键、唯一键
开放性问题:据说是腾讯的 一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。
2. SQL语言包括哪几部分?每部分都有哪些操作关键字?
3. 完整性约束包括哪些?
4. 什么是事务?及其特性?
5. 什么是锁?
6. 什么叫视图?游标是什么?
7. 什么是存储过程?用什么来调用?
8. 索引的作用?和它的优点缺点是什么?
9. 如何通俗地理解三个范式?
10. 什么是基本表?什么是视图?
11. 试述视图的优点?
12. NULL是什么意思
13. 主键、外键和索引的区别?
14. 你可以用什么来确保表格里的字段只接受特定范围里的值?
15. 说说对SQL语句优化有哪些方法?(选择几条)
16. SQL语句中‘相关子查询’与‘非相关子查询’有什么区别?
17. char和varchar的区别?
18. Mysql 的存储引擎,myisam和innodb的区别。
19. 数据表类型有哪些
20. MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
21. 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题?
22. 如何进行SQL优化?(关于后边的解释同学们可以进行理解,到时根据自己的理解把大体意思说出来即可)
23,为表中得字段选择合适得数据类型(物理设计)
24:存储时期