随笔分类 -  MySQL

摘要:所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小写敏感,名称要见名知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match、delayed 等 ) 临时库表必须以tmp为前缀并以日期为后缀(tmp_) 备份库和库必须以bak 阅读全文
posted @ 2021-12-29 19:19 姚狗蛋 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1 int(12)中12代表什么 MySQL可以为整数类型指定宽度,如INT(11), 但是对大多数应用是没意义的, 因为它并不会限制值的范围,只是规定了MySQL的一些交互工具显示字符的个数,对于存储和计 算来说,INT(1)和INT(11)是相同的。 阅读全文
posted @ 2021-12-29 18:54 姚狗蛋 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1 表必须有主键 主键与业务无关,不要更新。 2 单表数据量不要超过千万行 2-1 单表数据太大,在数据库增加字段时候, 先建立一个新表,然后复制数据到新表, 再删除老表,重命名新表 数据量越大,越慢。 2-2 表越大,关联查询越慢 创建表的时候保留几个字段,比如bigint,varchar,预留2 阅读全文
posted @ 2021-12-27 19:13 姚狗蛋 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1 什么是主从 主从复制比较好理解,需要使用两个数据库存储一样的数据。 其原理为当应用程序A发送更新命令到主服务器的时 候,数据库会将这条命令同步记录到Binlog中, 然后其他线程会从Binlog中读取并通过远程通讯的方式复制到另外 服务器。服务器收到这更新日志后加入到自己Relay Log中, 阅读全文
posted @ 2021-12-15 14:59 姚狗蛋 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1 锁 Java锁和数据库中的锁其实是一样的, 为了避免多个事务同时操作数据库导致数据异常,一般会通过锁机制解决。 加锁是为了避免并发导致数据出现异常,来保证数据一致 2-共享锁 在查询语句后面增加 LOCK IN SHARE MODE ,Mysql会对查询结果中的每行都加共享锁。 SELECT . 阅读全文
posted @ 2021-12-14 12:28 姚狗蛋 阅读(66) 评论(0) 推荐(0) 编辑
摘要:17- B+树非叶子节点上是不存储数据的,仅存储键值,而B树节点中不仅存储键值,也会存储数据。 innodb中页的 默认大小是16KB,如果不存储数据,那么就会存储更多的键值,相应的树的阶数(节点的子节点树)就会更 大,树就会更矮更胖, 如此一来我们查找数据进行磁盘的IO次数有会再次减少,数据查询的 阅读全文
posted @ 2021-12-14 12:27 姚狗蛋 阅读(65) 评论(0) 推荐(0) 编辑
摘要:1 @Transactional Spring在检查到@Transactional注解之后,给这个对象生成了一个代理对象proxy: 2 一个没有加@Transactional注解的方法,去调用一个加了@Transactional的方法,会不会产生事务? ==不会== 3 如果一个事务,(第一步会生 阅读全文
posted @ 2021-12-14 12:26 姚狗蛋 阅读(6) 评论(0) 推荐(0) 编辑
摘要:1、数据库在刷新 脏页 当我们要往数据库插入一条数据、或者要更新一条数据的时候, 我们知道数据库会在内存中把对应字段的数据更 新了, 但是更新之后, 这些更新的字段并不会马上同步持久化到磁盘中去, 而是把这些更新的记录写入到 ==redo log== 日记中去, 等到空闲的时候,在通过 redo l 阅读全文
posted @ 2021-12-14 12:25 姚狗蛋 阅读(43) 评论(0) 推荐(0) 编辑
摘要:1-创建一个部门表和员工表并插入数据 #创建部门表 CREATE TABLE department ( id int PRIMARY key auto_increment, dep_name varchar(10) not null ); #向部门表中插入数据 insert into departm 阅读全文
posted @ 2021-12-14 12:24 姚狗蛋 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1 创建mysql数据库排序参数 字符集:utf8mb4 排序规则: utf8mb4_unicode_ci 2 where group by where 是使用在统计之前,对统计前 的记录进行过滤, having 是用在统计之后,是对聚合之后的结果进行过滤。 也就是说 where 永远用 在 hav 阅读全文
posted @ 2021-12-14 12:23 姚狗蛋 阅读(219) 评论(0) 推荐(0) 编辑
摘要:1 排序的时候优先某一部分(关注置顶) 产品分页,如果产品ID在(265,249,146,262,261),优先置顶分页这部分数据。 然后再考虑其他,再按照创建时间倒序。 SELECT * FROM product ORDER BY id IN (265,249,146,262,261) DESC, 阅读全文
posted @ 2021-12-14 12:22 姚狗蛋 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1 常用的关系 CHAR String VARCHAR String DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean TINYINT byte SMALLINT short INTEGER int BIGINT long FLOAT 阅读全文
posted @ 2021-12-14 10:17 姚狗蛋 阅读(102) 评论(0) 推荐(0) 编辑
摘要:1 -批量新增 int batchInsert(@Param("list") List<T> list); <insert id="batchInsert" parameterType="map"> insert into product values <foreach collection="li 阅读全文
posted @ 2021-12-14 10:15 姚狗蛋 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1-事务 2 回滚 3 事务失效 3-1 @ Transactional 默认情况下,只会对RuntimeException Error的异常来回滚, 如果抛出检查异常,则不会回滚。 所以,@ Transactional要改为@ Transactional(rollbackFor = Excepti 阅读全文
posted @ 2021-12-11 17:28 姚狗蛋 阅读(9) 评论(0) 推荐(0) 编辑
摘要:数据库删除操作中的 delete、drop、 truncate 区别在哪? 当不再需要该表时可以用 drop 来删除表; 当仍要保留该表,但要删除所有记录时, 用 truncate来删除表中记录。 当要删除部分记录时(一般来说有 WHERE 子句约束) 用 delete来删除表中部分记录。 阅读全文
posted @ 2021-12-11 17:15 姚狗蛋 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1 操作json 1-1 创建表 create table tab_json(id int not null auto_increment primary key,data json); 1-2 新增 insert into tab_json values (null,'{"name":"Mike" 阅读全文
posted @ 2021-12-11 16:38 姚狗蛋 阅读(29) 评论(0) 推荐(0) 编辑
摘要:通常我们在建立联合索引的时候,也就是对多个字段建立索引,相信建立过索引的同学们会发现,无论是oralce还是mysql都会让我们选择索引的顺序。 比如我们想在a,b,c三个字段上建立一个联合索引,我们可以选择自己想要的优先级 a、b、c,或者是b、a、c 或者是c、a、b等顺序。 为什么数据库会让我 阅读全文
posted @ 2020-09-23 11:09 姚狗蛋 阅读(300) 评论(0) 推荐(0) 编辑
摘要:1 什么是索引 什么是索引(Index)。数据库中的索引,就好⽐⼀本书的目录,它可以帮我们快速进行特定 值的定位与查找,从而加快数据查询的效率。 2 索引的类型 主键索引 非空索引 唯一索引 全文索引 普通索引 唯一索引:在创建唯一索引时要不能给具有相同的索引值。在⼀张数据表⾥可以有多个唯⼀索引。 阅读全文
posted @ 2020-09-17 13:01 姚狗蛋 阅读(114) 评论(0) 推荐(0) 编辑
摘要:1 什么是索引 索引是一种快速查询表中内容的机制,类似于新华字典的目录;运用在表中某个些字段上,但存储时,独立于表之外; 2 什么条件下要使用索引 1)表经常进行 SELECT 操作 (2)表很大(记录超多),记录内容分布范围很广 (3)列名经常在 WHERE 子句或连接条件中出现 3 什么条件下不 阅读全文
posted @ 2020-09-04 11:42 姚狗蛋 阅读(101) 评论(0) 推荐(0) 编辑
摘要:常见的sql优化 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is 阅读全文
posted @ 2020-07-03 00:10 姚狗蛋 阅读(154) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示