数据库
郑鹏川
不积跬步,无以至千里
展开
-
MYSQL面试题
MySQL的binlog有有几种录入格式?分别有什么区别?有三种格式,statement,row和mixed。 statement模式下,每一条会修改数据的sql都会记录在binlog中。不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。由于sql的执行是有上下文的,因此在保存的时候需要保存相关的信息,同时还有一些使用了函数之类的语句无法被记录复制。 row级别下,不记录sql语句上下文相关信息,仅保存哪条记录被修改。记录单元为每一行的改动,基本是可以全部记下来但...原创 2021-05-20 11:43:39 · 732 阅读 · 0 评论 -
MYSQL: ROW_FORMAT;
前言今天在导出表的时候,偶然发现每张表后面都跟了一个:ROW_FORMAT = Dynamic;CREATE TABLE `class` ( `class_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '班级id', `class_name` varchar(50) NOT NULL COMMENT '班级姓名', `class_no` varchar(20) NOT NULL COMMENT '班级编号', PRIMARY KEY (`原创 2021-01-28 17:30:28 · 1457 阅读 · 1 评论 -
关于drop, truncate,delete
1.删表drop table xxxx truncate table xxxx2.删表里的数据 truncate xxxx delete from xxxx3.区别: drop: 删除表,包括所有数据与表的结构(提交不可回滚) truncate: 清空表中所有数据;实质是删除整张表包括数据再重新创建表(提交不可回滚) delete: 实质上是逐行删除数据,每步删除都有日志记录(可回滚数据)...原创 2020-12-30 16:32:54 · 103 阅读 · 0 评论 -
细研究ACID,对于数据库完整性产生的好奇
1.数据库完整性(Database Integrity)是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。2.数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。3.主要分为三:实体完整性约束(主键约束) 参照完整性约束(外键约束) 用户自定义完整性约束(一般认为是:null和not null,check)...原创 2020-11-04 15:00:47 · 113 阅读 · 0 评论 -
查看和杀死mysql进程
##查看所有进程SHOW PROCESSLIST;##杀死进程号KILL 进程id;原创 2020-12-07 14:06:02 · 383 阅读 · 0 评论 -
在Navicat上导入sql文件报错
1. Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs报错原因: 我的数据库编码为utf8mb4,数据库设定的varchar长度:(1000+10000+5000+390)*4>65535了,如果是utf8,则是设定的varchar或者其他类型长...原创 2020-11-06 11:34:20 · 1643 阅读 · 0 评论 -
mybatis $和#的区别详解
#{ }是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号; ${ }是字符串替换, MyBatis在处理${ }时,它会将sql中的${ }替换为变量的值,传入的数据不会加两边加上单引号。 如:select id,name,age from s...原创 2020-01-06 16:08:36 · 152 阅读 · 0 评论 -
mysql常用添加修改
添加表添加字段修改表注释修改字段注释修改字段名注意:修改字段时,请添加字段的完整定义,如字段类型、属性等,不然会被覆盖!删除字段...原创 2019-10-24 10:43:49 · 191 阅读 · 0 评论 -
left join、right join、inner join区别
思维导图:一、left join左连接以左表数据为准二、right join(可省略为join)右链接以右表数据为准三、inner join内连接求的是所有表的并集(A表有,并且B表也有的数据)原创 2020-12-30 10:53:51 · 576 阅读 · 1 评论 -
数据库、sql调优思路
经常都会遇到数据库调优的问题,一般我的思路首先是想到索引,第二是想到sql优化,如果sql太复杂了,那我还是一般会用到explain分析sql的执行计划。第三就是看数据库量,需不需要分库分表一、索引 索引是什么?索引是在表的列上创建。索引是一种数据结构--索引包含一个表中列的值,并且这些值存储在一个数据结构中。 为什么要用?加快查询数据效率。 有哪些分类: 聚集索引:二、sql的优化三、分库分表四、读写分离五、增加CP...原创 2020-09-23 14:52:34 · 632 阅读 · 0 评论 -
看完就知道什么是数据库索引
一、索引是什么 索引是在表的列上创建。索引是一种数据结构--索引包含一个表中列的值,并且这些值存储在一个数据结构中。二、索引分类 聚集索引(主键索引):在数据库里面,所有行数都会按照主键索引进行排序。 非聚集索引:给普通字段加上索引。 联合索引:好几个字段组成的复合索引。联合索引使用原则:最左原则,有A、B、C三个字段建立的联合索引,如果A字段在查询时为空,那么这个联合索引不生效;如果A字段不为空,B、C不管为不为空,那么联合索引都是生效的。三、为什么要...原创 2020-09-21 11:05:03 · 661 阅读 · 0 评论