MYSQL-INNODB索引构成详解
对于MYSQL的INNODB存储引擎的索引,大家是不陌生的,都能想到是B树结构,可以加速SQL查询。但对于B树索引,它到底“长”得什么样子,它具体如何由一个个字节构成的,这些的基础知识鲜有人深究。本篇文章从MYSQL行记录开始说起,层层递进,包括数据页,B树聚簇索引,B树二级索引,最后在文章末尾给出MYSQL索引的建议。文章涉及较多基础知识,内容较为枯燥,因此采用较多的图片补充说明,希望能对读者有帮助。
Aidan075 Aidan075
3年前
昨晚试试 数据行转列,差点翻了车
作者:朱小五来源:凹凸数据大家好,我是小五昨晚遇到一道数据行转列问题,差点翻了车,跟大家分享一下。先跟大家讲一下,常见的行转列一般是这种形式:通常用来考察“如何用SQL、或者Python实现?”昨天群里有个朋友问了一道类似的题,我张嘴就来。结果拿来测试表一看,翻车了啊!这并不是常见的那种行转列啊!相当于分组筛选,然后横向拼接到一起?这思路也不对啊不过既然
Stella981 Stella981
3年前
SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATI...
SQLServer2017的LinkedServer配置触发的bug“ExceptionCode\c0000005EXCEPTION\_ACCESS\_VIOLATION”现象描述:数据库版本:SQLServer2017(RTM\CU14)(KB4484710)\14.0.307
Wesley13 Wesley13
3年前
Mysql分库分表方案
Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等
Easter79 Easter79
3年前
SQL Server 2019中Function默认返回值会影响Function创建时规定的返回值类型
项目里客户端突然报错,原因是SQLServer中某个Function返回值有问题,拿来代码看还是比较简单的Function,虽然写法很不好,但是selectdbo.fn_xxxfunction(0)返回值是空就有点奇怪。IFOBJECT_ID('fn_xxxfunction','FN')ISNOTNULLDRO
Easter79 Easter79
3年前
SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATI...
SQLServer2017的LinkedServer配置触发的bug“ExceptionCode\c0000005EXCEPTION\_ACCESS\_VIOLATION”现象描述:数据库版本:SQLServer2017(RTM\CU14)(KB4484710)\14.0.307
Stella981 Stella981
3年前
SQL Server 2019中Function默认返回值会影响Function创建时规定的返回值类型
项目里客户端突然报错,原因是SQLServer中某个Function返回值有问题,拿来代码看还是比较简单的Function,虽然写法很不好,但是selectdbo.fn_xxxfunction(0)返回值是空就有点奇怪。IFOBJECT_ID('fn_xxxfunction','FN')ISNOTNULLDRO
Wesley13 Wesley13
3年前
Oracle存储过程创建及Java调用
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还是触发器,都是通过SQL语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了对其运行时的执行速度。在大型数据库系统如Oracle、SQLServer中都不仅提供了