
Mysql小知识点
文章平均质量分 88
Mysql小知识点
InterestingFigure
Salted fish in hand, I have the world.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么说mysql数据库单表最大两千万?依据是啥?
故事从好多年前说起。想必大家也听说过数据库单表建议最大2kw条数据这个说法。如果超过了,性能就会下降得比较厉害。巧了。我也听说过。但我不接受它的建议,硬是单表装了1亿条数据。这时候,我们组里新来的实习生看到了之后,天真无邪的问我:“单表不是建议最大两千万吗?为什么这个表都放了1个亿还不分库分表”?我能说我是因为懒吗?我当初设计时哪里想到这表竟然能涨这么快。。。我不能。说了等于承认自己是开发组里的毒瘤,虽然我确实是,但我不能承认。我如坐针毡,如芒刺背,如鲠在喉。开始了一波骚操作。“我这么做是有道理的”“虽然这转载 2022-06-29 16:20:19 · 780 阅读 · 0 评论 -
MySql下实现先排序后分组 5.7出现的问题
https://blog.csdn.net/wangxi_xixi/article/details/82981533 https://blog.csdn.net/lglaljj123/article/details/79864188转载 2020-05-18 11:58:46 · 733 阅读 · 0 评论 -
MySQL基础知识
1.基础知识 decimal能存储比bigint更大的整数;float和double只能做近似计算 经常变更的短字符串用char更好更高效。 text和blob查询会使用临时表,导致严重的性能开销。 单独查询或者单独垂直分表 timestamp y-m-d h:i:s 比datetime空间效率更高。 数据库建模 powerdesigner 重要,不要只写一个数据字典 mysql的瓶颈是磁盘IO;...原创 2020-03-24 16:27:45 · 233 阅读 · 0 评论 -
mysql中的回表查询与索引覆盖
了解一下MySQL中的回表查询与索引覆盖。 回表查询 要说回表查询,先要从InnoDB的索引实现说起。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。 InnoDB的聚集索引 InnoDB聚集索引的叶子节点存储行记录,因此InnoDB必须要有且只有一个聚集索引。 1.如果表定义了PK(Primary Key,主键),那么...转载 2020-03-24 15:31:35 · 232 阅读 · 0 评论 -
MySQL的三大范式
第一范式(1NF) 简单地说,第一范式要求关系中的属性必须是原子项,即不可再分的基本类型,集合、数组和结构不能作为某一属性出现,严禁关系中出现“表中有表”的情况 在任何一个关系数据库系统中,第一范式是关系模式的一个最起码的要求。 不满足第一范式的数据库模式不能称为关系数据库。 一句话解释:斤斤计较 针对对象字段:是否可以继续细分 例子:地址 第二范式(2NF) 第二范式(2NF)是在第一范式(1N...原创 2019-11-27 11:08:34 · 268 阅读 · 0 评论 -
影响MySQL性能的要素点
影响MySQL性能的几个要素 系统CPU内存 (需要购买性能优秀的机器) I/O,mysql进程状态,mysql服务器周期变化 => mysql版本 以及 电脑处理 业务 数据库设计 => 六大范式 (三大范式) => join 1、范式:在性能角度来说:不是范式越高越好 适量选择与冗余一些字段 2、项目中sql语句编写以及索引的建立 3、业务分析 项目预期设计导致的性能问题 ...原创 2019-11-27 10:47:33 · 203 阅读 · 0 评论 -
Mysql对死锁的处理
什么是死锁 官方定义如下: 两个事务都持有对方需要的锁, 并且在等待对方释放, 并且双方都不会释放自己的锁。 MySQL有两种死锁处理方式 等待, 直到超时(innodb_lock_wait_timeout=50s) 。 发起死锁检测, 主动回滚一条事务, 让其他事务继续执行(innodb_deadlock_detect=on) 。 由于性能原因, 一般都是使用死锁检测来进行处理死锁。 死锁检...原创 2019-11-26 15:02:10 · 4730 阅读 · 0 评论 -
Mysql innodb行锁和表锁的转变
innodb的行级锁 InnoDB 行级锁是通过给索引上的索引项加锁来实现的; InnoDB行级锁只有通过索引条件检索数据, 才使用行级锁; 否则, InnoDB使用表锁; 在不通过索引(主键) 条件查询的时候, InnoDB是表锁而不是行锁。 总结: 就是在没有使用索引的情况下InnoDB的排它锁就会使用表级锁(共享锁不会有这个情况) 实例 主键也可以认为是唯一索引 操作1 2 3 4 分别操作...原创 2019-11-26 14:56:41 · 373 阅读 · 0 评论 -
Mysql的锁机制
mysql的锁机制 如何保证数据并发访问的一致性和有效性, 是所有数据库必须解决的一个问题。 另外, 所冲突也是影响数据库并发性能的一个重要的因素, 应用程序在选择所类型时, 需要根据实际运行的需要, 选择最佳的所类型。 MySQL的不同存储引擎, 支持不同的锁定机制 锁类型 MyISAM 和 Memory 存储引擎使用的是表级锁。 InnoDB 存储引擎既支持行级锁, 也支持表级锁, 默认情况...原创 2019-11-26 14:40:34 · 166 阅读 · 0 评论 -
Mysql的事务
事务 四个特点(ACID): 原子性、隔离性、一致性、持久性 myisam myisam不支持事务,它的事务实现方式是表级锁实现伪事务 事务本质 事务本质是行级锁实现的(排它锁、共享锁) 事务日志 事务 => 日志先行 事务在开启 持久性=> 数据写入到磁盘 undo log,(撤销日志) redo log,(记录事务操作日志)I/O show engine innodb stat...原创 2019-11-26 11:18:00 · 126 阅读 · 0 评论 -
Mysql方法count说明
1.SQL92定义的标准统计行数的语法是 :count(),这跟数据库无关,跟NULL和非NULL无关。 2.count()会统计值为NULL的行 3.count(列名) 不会统计此列为NULL值的行 4.count(distinct col)计算该列除NULL之外的不重复的数量 5.count(distinct col1,col2)如果其中一列全为NULL,即使另一列有不同的值返回也是0 ...原创 2019-11-26 10:30:04 · 223 阅读 · 0 评论