执键写春秋 执键写春秋
3年前
MyBatis进阶使用(日志管理、动态SQL、二级缓存、多表联级、Pagehelper分页、批处理)
MyBatis进阶使用日志管理依赖使用Logback进行日志管理:<dependency<groupIdch.qos.logback</groupId<artifactIdlogbackclassic</artifactId<version1.3.0alpha5</version</dependency
MYSQL-INNODB索引构成详解
对于MYSQL的INNODB存储引擎的索引,大家是不陌生的,都能想到是B树结构,可以加速SQL查询。但对于B树索引,它到底“长”得什么样子,它具体如何由一个个字节构成的,这些的基础知识鲜有人深究。本篇文章从MYSQL行记录开始说起,层层递进,包括数据页,B树聚簇索引,B树二级索引,最后在文章末尾给出MYSQL索引的建议。文章涉及较多基础知识,内容较为枯燥,因此采用较多的图片补充说明,希望能对读者有帮助。
CuterCorley CuterCorley
3年前
数据库编程 MySQL 技巧与经验
1.MySQL创建数据表时设定引擎并添加外键约束创建两个数据表,在它们之间添加外键约束,然后在被添加外键的表中添加数据,发现并没有提示报错,很正常地插入了数据,说明外键没有添加成功,在SQL可视化工具里查看表的属性,并点击外部键会出现弹窗,提示是因为引擎的问题,导致不能添加外键。MySQL安装时默认用的表引擎是MyISAM,而MyISAM是不支持外键的,如
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
DevOpSec DevOpSec
1年前
tcpdump解决运维生产中遇到问题
作为技术人员tcpdump这个工具还是有必要了解的当你遇到网络协议问题一筹莫展的时候,这时候往往可以通过tcpdump来看网络的通讯过程中发生了什么事。本文只介绍工作用遇到的问题供大家参考,旨在给你工作中遇到类似问题提供解决灵感,具体tcpdump怎么使用google吧。下面通过三个案例进行介绍:案例一:flume写kafka日志报错案例二:LB(负载均衡)增加请求header后,nginx日志获取不到headerkeyclient_ip案例三:mysqlQPS特别高,但mysql并没有慢查询,想知道topKmysql语句最后:场景的http协议抓包场景