随笔分类 -  数据库

索引,为什么用B+树。B树,B+树,红黑树的区别联系。补充优缺点。补充:唯一索引和普通索引的区别,全文索引;聚簇索引的优缺点
摘要:唯一索引(Unique Key):唯一索引也是一种约束。唯一索引的属性列不能出现重复的数据,但是允许数据为 NULL,一张表允许创建多个唯一索引。 建立唯一索引的目的大部分时候都是为了该属性列的数据的唯一性,而不是为了查询效率。 普通索引(Index):普通索引的唯一作用就是为了快速查询数据,一张表 阅读全文

posted @ 2021-09-12 22:00 潮流教父孙笑川 编辑

mysql 的3种日志,undo log binlog redo log。补充:主从同步原理,内存落盘时机。binLog和redoLog都有缓存机制,不是随时罗盘
摘要:具体看https://i.cnblogs.com/posts/edit;postId=13668891 1、二进制日志 binlog(归档日志) binlog记录了数据库表结构和表数据变更,比如update/delete/insert/truncate/create。它不会记录select(因为这没 阅读全文

posted @ 2021-09-12 22:00 潮流教父孙笑川 编辑

分库分表 数据迁移方案
摘要:停机迁移方案 我先给你说一个最 low 的方案,就是很简单,大家伙儿凌晨 12 点开始运维,网站或者 app 挂个公告,说 0 点到早上 6 点进行运维,无法访问。 接着到 0 点停机,系统停掉,没有流量写入了,此时老的单库单表数据库静止了。然后你之前得写好一个导数的一次性工具,此时直接跑起来,然后 阅读全文

posted @ 2021-09-12 21:59 潮流教父孙笑川 编辑

mybatis实现模糊查询
摘要:<!--根据产品件号模糊查询机信息 --> <select id="selectInStockByPartNum" resultType="com.inchlifc.entity.InStock"> SELECT * FROM in_stock <where> <if test="partNum!= 阅读全文

posted @ 2020-10-26 13:29 潮流教父孙笑川 编辑

Mybatis,模糊查询的concat
摘要:1、#{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换。 Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; Mybatis在处理${}时,就是把${}替换成变量的值。 使用#{}可以有效的防止SQL注入,提高系 阅读全文

posted @ 2020-10-25 13:06 潮流教父孙笑川 编辑

sql执行顺序
摘要:1st) FROM字句:执行顺序为从后往前、从右到左。数据量较大的表尽量放在后面。 2nd) WHERE字句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE字句的最右。 3rd) GROUP BY:执行顺序从右往左分组,最好在GROUP BY前使用WHERE将不需要的记录在 阅读全文

posted @ 2020-10-23 20:55 潮流教父孙笑川 编辑

分库分表,sharding-jdbc
摘要:分库分表一定是为了支撑高并发、数据量大两个问题的 你了解哪些分库分表的中间件,各个中间件的优缺点是啥?然后你用过哪些分库分表的中间件。 比较常见的包括: Cobar TDDL Atlas Sharding-jdbc Mycat Cobar 阿里 b2b 团队开发和开源的,属于 proxy 层方案,就 阅读全文

posted @ 2020-10-19 17:05 潮流教父孙笑川 编辑

explain问题,补充select_type、extra
摘要:id:选择标识符select_type:表示查询的类型。table:输出结果集的表partitions:匹配的分区type:表示表的连接类型possible_keys:表示查询时,可能使用的索引key:表示实际使用的索引key_len:索引字段的长度ref:列与索引的比较rows:扫描出的行数(估算 阅读全文

posted @ 2020-10-17 19:16 潮流教父孙笑川 编辑

mysql慢查询,mysqldumpslow
摘要:配置文件中my.cnf 开启慢查询[mysqld] slow_query_log = ON slow_query_log_file = D:\\MySql_log\\slow.loglong_query_time = 1 //时间 mysqldumpslow工具 -s 按照那种方式排序 c:访问计数 阅读全文

posted @ 2020-10-17 19:12 潮流教父孙笑川 编辑

避免使用select *
摘要:禁止使用 SELECT * 必须使用 SELECT <字段列表> 查询 原因: 消耗更多的 CPU 和 IO 以网络带宽资源 无法使用覆盖索引 可减少表结构变更带来的影响 阅读全文

posted @ 2020-10-16 20:00 潮流教父孙笑川 编辑

数据库优化,设计表的三范式、数据库引擎选择、索引设计
摘要:1、什么是三范式 设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF 阅读全文

posted @ 2020-10-16 17:00 潮流教父孙笑川 编辑

mysql---MVCC机制,多版本控制
摘要:通过额外的2个字段 trx_id 即事务ID,最后一次修改(增加删除修改)的事务ID roll_pointer 用于记录回滚日志,每次修改数据,则增加对应的回滚日志链,找回原来的数据 每次修改数据,在更新数据的同时,把历史数据和对应的事务ID,记录到回滚日志里面去 查询的原理:select 时记录当 阅读全文

posted @ 2020-09-06 22:54 潮流教父孙笑川 编辑

Navicat 连接MySQL 8.0.11 出现2059错误
摘要:错误 使用Navicat Premium 连接MySQL时出现如下错误: 原因 mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决 更改加密规则: mysql -uroot -ppasswo 阅读全文

posted @ 2019-07-21 11:06 潮流教父孙笑川 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示