随笔分类 - 数据库 / mysql
摘要:如果你觉得每天都忙成狗,那一定是你的错觉。狗一定没你忙。 mysql 去重的方法如下 1、distinct 关键词 SELECT DISTINCT `name` FROM `table`; 2、group by 关键 SELECT `name` FROM `category` GROUP BY `n
阅读全文
摘要:你所有的忧伤,都来自于你的余额。 MySQL中的IN和OR是两个常见的操作符,虽然它们都可以用于选择数据,但是它们的实现方式有很大的不同。 SELECT * FROM table WHERE column1 IN (val1, val2, val3); SELECT * FROM table WHE
阅读全文
摘要:生活不止眼前的苟且,还有一辈子的苟且。 储存过程 优点 SQL指令无需客户端编写,通过网络传送,可以节省网络开销,同时避免SQL指令在网络传输中被恶意篡改 存储过程经过编译创建并保存在数据库中,执行过程中无需重复操作 存储过程中多个SQL指令之间存在逻辑关系,支持流程控制语句 缺点 存储过程是根据不
阅读全文
摘要:昨天遇见小学同班同学,没想到他混的这么差,只往我碗里放了一块钱。 在进行分库分表的时候,有个分片键概念 :分片键是用于决定数据会被分布在哪个分片中的字段 分片算法:分片键决定了数据会被分布在哪个分片,原理就是根据分片键的值计算出数据所分布的分片 ID. 计算的过程就是分片键算法,即 f(shardK
阅读全文
摘要:不想养狗不想养猫,只想养你,毕竟养猪能致富。 - 数据库分片:将一个大的数据库拆分成多个小的数据库,每个小的数据库称为一个分片。- 数据表分片:将一个大的数据表拆分成多个小的数据表,每个小的数据表称为一个分片。- 分片键:用于将数据分散到不同的数据库或数据表中的字段。- 路由:将查询请求路由到正确的
阅读全文
摘要:“为什么我觉得你会变魔术啊?”“不会啊!”“真的不会吗?那你怎么越变越好看了” 什么是MVCC? MVCC (Multi-Version Concurrency Control) 多版本并发控制方法 (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Contr
阅读全文
摘要:要么读书,要么旅行,身体和灵魂,必须有一个要去工作。 mysql 日志类型有很多种: InnoDB重做日志(redo log):用于确保事务的持久性,并帮助在系统崩溃时进行恢复。 InnoDB回滚日志(undo log):记录事务修改前的数据版本,用于多版本并发控制(MVCC)和事务回滚。 二进制日
阅读全文
摘要:其实只要不要脸,很多人生难题都能迎刃而解。 在MySQL中,子查询和连接都是用来进行多表查询的方式。 子查询,也称为内层查询,是指嵌入在另一个查询语句中的查询。它的执行方式是先执行内部的子查询,然后将其结果拿出来再执行外层的主查询。 连接,也称作外关联查询,是指在两个或多个表之间建立关联,通过连接查
阅读全文
摘要:回首青春,我发现自己失去了很多宝贵的东西。但我并不难过,因为我知道,以后会失去的更多。 定义 如果索引的列在 select 所需获得的列中(因为在 mysql 中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select 所需获
阅读全文
摘要:有些人是好看的,有些人是难看的,而你是好难看的。 相同点 datetime和timestamp都可以表示 YYYY-MM-DD HH:MM:SS 这种年月日时分秒格式的数据。 注意(并且从MySQL5.6.4之后这两者都可以包含秒后的小数部分,精度最高为微妙(6位),这里有一个点需要注意,就是在My
阅读全文
摘要:如果你去抢银行,不论成功还是失败,未来十年内你都不用再上班。 方法一: 在其他的数据中可以使用 公共表达式 CTO (Common Table Expression) WITH CREATE TABLE `category` ( `id` int(11) unsigned NOT NULL AUTO
阅读全文
摘要:爱情就是,如果没有更好的选择了,我才陪你到天荒地老。 什么是数据库连接池? 数据库连接池是程序启动时建立足够数量的数据库连接,并将这些连接统一管理起来组成一个连接池,程序动态的从池中取连接与归还连接。 创建数据库连接相对来说是比较耗时的,不仅有三次握手,还有mysql的三次认证过程。所以在程序启动时
阅读全文
摘要:感谢前行路上击倒我的人,因为,躺着真的好舒服。 InnoDB 行锁是通过对索引数据页上的记录加锁实现的,MySQL InnoDB 支持三种行锁定方式 记录锁(Record Lock):也被称为记录锁,属于单个行记录上的锁。 间隙锁(Gap Lock):锁定一个范围,不包括记录本身。 临键锁(Next
阅读全文
摘要:不要担心黑夜悠长,保持平静安宁可以睡的更久。 互斥锁和自旋锁是锁的最基本处理方式,更高级的锁都会选择其中一个来实现,比如读写锁既可以选择互斥锁实现,也可以基于自旋锁实现。 一般加锁的过程,包含两个步骤: 第一步,查看锁的状态,如果锁是空闲的,则执行第二步; 第二步,将锁设置为当前线程持有; 当已经有
阅读全文
摘要:“你知道我是干大事的男人吗?” “什么大事?” “你就是我的大事。” 在我们针对数据表进行了大量删除或者删除掉某个无用的索引之后,该表占的数据内存或者索引并没有明显的变换,这是因为删除操作后在数据文件中留下碎片所致。 那么要怎么样进行优化了, 关键字 OPTIMIZE TABLE your_tabl
阅读全文
摘要:骑白马的不一定是王子,也可能会是是唐僧! 判断一个字段头部和尾部包含了空格之类的mysql语句 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(100) DEFAULT
阅读全文
摘要:兄弟听我一句劝,游戏没了还能重玩,媳妇没了游戏就能一直玩了。 mysql 之中,对字符串函数进行长度查询的函数有三个 LENGTH CHAR_LENGT 虽然都是对函数的查询,但是也有一些区别 1、LENGTH函数 此函数是按照字节来统计字符串长度,主要用来计算普通字符的长度,他会把一个中文字符的长
阅读全文
摘要:如果有一天我消失了,即使我的朋友恋人不会找我,银行也会疯狂找我。 在创建mysql 索引是为了更快的查询到数据,用牺牲空间代价获取时间代价,所以要更好的用到已经用到的所以很重要, 但有时候在一些没有注意的情况下,索引是会失效的。具体的情况列表如下: like 以%开头,索引无效;当like前缀没有%
阅读全文
摘要:你在哭吗? 没有,我只是过敏了。 对什么过敏? 人生。 在执行mysql 删除脚本的时候,出现了意向不到的错误 场景: 在user_list_log 表中,由于前端代码不严谨出现了重复数据,于是就想着用mysql脚本执行mysql语句进行删除掉 id 比较小的多余数据,所以按照思路就写着就出现如下m
阅读全文

浙公网安备 33010602011771号