数据库
文章平均质量分 67
我来杀ai
我觉得,世界上没有什么最难受的事,永远只有更难受的事
展开
-
mysql B+树层高计算《嘀嗒出行面试》
本文需要有mysql底层知识做铺垫****mysql默认page大小为16K,这个可以调整,但是必须是4的倍数,因为操作系统每次和硬盘交互数据取的就是4K的块1、分析b+树非叶子节点情况 ,假定一个表用int类型作为主键,占用4个字节,而指针大小在InnoDB源码中设置为6字节,一共10个字节,根节点一页就能存放16K/10 约为1600个指针满编的B+树一层能存放的指针数据为1600*1600 约为256W条数据,二层大约为4亿数据。此时B+树高度为4,因为有叶子节点的存在。假定数据表一行原创 2020-11-04 21:43:37 · 2379 阅读 · 0 评论 -
从mysql底层学习mysql索引
需要了解的数据结构0、树1、B树2、B+树innodb引擎使用b+树的数据结构(多路平衡树)在硬盘上存储数据每一张表一定会有一个主键。按照主键id生成b+树数据结构,在叶子节点存放表每一行所有的数据。id索引又称为聚簇索引对表的常用查询列添加索引或者联合索引。将使用该列数据生成一棵B+树,该B+树叶子节点数据区存放的是主键id(不存放数据地址是因为数据增加或删减的时候聚簇索引树会分裂合并,将导致数据地址变更,维护其他索引树将变得困难)。非聚簇索引叶子节点存主键id后,如果查.原创 2020-09-12 14:24:48 · 187 阅读 · 0 评论 -
jdbc超简单连接
一、JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。二、常用接口1.Driver接口 Driver接口由数据库厂家提供,作为ja原创 2017-09-27 17:35:36 · 853 阅读 · 2 评论 -
mybatis调用存储过程实例及经验(springboot+mybatis+oracl)
上次的项目,要求我用java代码调用存储过程,折腾了好久。最后总算成功了。发片帖子纪念下,也给不懂存储过程的但是要调用的人一些提示首先介绍下存储过程(本人是不会写的,但是目前能看懂)create or replace procedure P_DAP_UNI_CUBE_INFO(V_CUBE_NAME IN VARCHAR2, --每个参数都有三部分 形参 in/out 类型, in是入参...原创 2018-07-11 16:37:20 · 15496 阅读 · 6 评论 -
ibatis/mybatis出现 sql 语句 where in(参数1,参数2……参数1000) 超过1000个参数时候的解决方案
公司项目出现bug,查询后是由于sql 语句in()内参数查过1000引起的由于项目比较大,无法轻易修改或重构。公司框架比较老用了ibates 无法从xml配置里进行修改。所以本人写了段代码,当list数据量超过1000的时候调用另一套sql,传入一个字符串代替原本的sql 原本的sql补丁sql代码List<String> partnerId...原创 2018-10-23 17:01:48 · 2750 阅读 · 0 评论