
mysql
文章平均质量分 64
2301_79308687
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mysql 分区表
但是 server 层加的锁,比如 MDL 锁,就会加到它认为的一张表,实际上是所有分区表上。同时会造成如下场景:对一个分区执行 truncate 语句,试图获取 MDL 写锁,与表的查询语句(获取 MDL 读锁)冲突。但是从引擎层来看,是多张表,对应多个.idb文件。引擎层访问数据只访问特定分区表,也只对特定分区表加锁,可以减小锁范围。分区表的典型应用场景是归档表,分区直观简洁,业务代码也更清晰。分区表是将一张表分成多张独立子表,每个子表是一个区,目的是提高查询效率。原创 2025-08-04 10:56:57 · 124 阅读 · 0 评论 -
Mysql insert 语句
是非常轻量的。但是某些复杂语句可能很慢。原创 2025-08-04 10:12:52 · 166 阅读 · 0 评论 -
Mysql group by
内存表是 Memory 引擎表,表的数据行都在内存。临时表可以使用各种引擎。临时表是线程私有表,其他线程不可见,不需考虑重名问题。session 结束时临时表会被自动删除。如果 Binlog_format = row,则临时表语句不进入 binlog,不参与主从同步。普通表的 table_def_key = 库名 + 表名。临时表的 table_def_key = 库名 + 表名 + mysql实例 id + 线程 id。原创 2025-08-04 21:30:58 · 415 阅读 · 0 评论 -
Mysql join语句
join 语句用于实现多表查询。原创 2025-08-04 21:04:11 · 468 阅读 · 0 评论 -
Mysql监控数据库
select 1;返回正常证明 Mysql 实例没挂。但是可能存在并发线程多,系统不可用的问题。Mysql 提供参数 innodb_thread_concurrency 控制并发线程数,一般在 64-128 之间。如果线程满了,新事务就无限等待线程释放。但是select 1;不会报错。连接并发可以上千,连接本身占内存和网络,但是不占 CPU 资源。原创 2025-08-04 19:51:54 · 156 阅读 · 0 评论 -
Mysql 主备一致
Mysql 是利用 binlog 实现主备一致,高可用。原创 2025-08-04 08:35:06 · 354 阅读 · 0 评论 -
Mysql 幻读与间隙锁
幻读是前后两次相同范围查询语句,查询的数据行不一样,即第二次查询到新数据行。这是可重复读隔离条件下当前读才会出现的问题。可重复读隔离条件下快照读的MVCC可以防止幻读。原创 2025-08-04 08:26:13 · 421 阅读 · 0 评论 -
Mysql 日志 binlog redolog
binlog 属于 server 层,所有引擎共有。主要用于主从同步。它记录逻辑日志,即原始 sql 语句。原创 2025-08-04 21:20:06 · 701 阅读 · 0 评论 -
mysql 锁
锁的目的是保证多事务安全同步。Mysql 锁分为全局锁,表锁和行锁。原创 2025-08-04 08:28:18 · 305 阅读 · 0 评论 -
Mysql 索引
索引就是数据库的有序目录,可以提高查询数据的效率。但是索引占据额外磁盘空间,维护索引需要时间。InnoDB 引擎的每个索引都是一个B+树。根据叶子节点可以将索引分为主键索引(聚簇索引)和非主键索引(非聚簇索引)。主键:一个表只有1个主键。不可重复,也不可为空。通过主键可以唯一确定一行数据。主键索引的叶子节点是行数据。只需查找1次B+数即可查找完整数据。非主键索引的叶子节点是主键值。再根据主键值从主键索引中查找完整数据。这个过程是回表。原创 2025-08-04 20:59:21 · 364 阅读 · 0 评论 -
mysql 事务隔离级别
事务的目的是保证用户自定义的一组操作要么同时成功,要么同时失败。Mysql的InnoDB引擎支持事务。原创 2025-08-04 07:44:35 · 637 阅读 · 0 评论