我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格式。例如,InnoDB 存储引擎为 MySQL 5.7 提供了三种“基本”格式,其中包含 row_formats 和两种可
原则 Docker 的使用原则是所有容器化的应用程序都应该是无状态的 ,即容器内部只跑业务逻辑,容器应用的所有配置文件、日志文件和持久化数据 都应该挂载到宿主机文件系统,不应该存储在容器内部,以免容器被误删或自身出现问题导致数据丢失。 MySQL 容器化方式 MySQL 属于有状态应用,若将其容器化需将其状态抽离到宿主机,其配置文件、日志文件和持久化数据都应该挂载到宿主机。 容器内各路径 通过docker pull 命令拉取下来的官方
一、基本概念 概念一:单库 概念二:分片 分片解决“数据量太大”这一问题,也就是通常说的“水平切分”。 一旦引入分片,势必面临“数据路由”的新问题,数据到底要访问哪个库。路由规则通常有3种方法: (1)范围:range 优点:简单,容易扩展。 缺点:各库压力不均(新号段更活跃)。 (2)哈希:hash 优点:简单,数据均衡,负载均匀。 缺点:迁移麻烦(
《MySQL死锁分析的两个工具》中,举了一个强制类型转换导致死锁的例子,有朋友询问是不是类型转换都不能命中索引,花1分钟细说一下。 第一类:“列类型”与“where值类型”不符,不能命中索引,会导致全表扫描(full table scan)。 数据准备: createtablet1( cellvarchar(3)primarykey )engine=innodbdefaultcharset=
《迅猛定位低效SQL?》留了一个尾巴: selectid,namewherename='shenjian' selectid,name,sexwherename='shenjian' 多查询了一个属性,为何检索过程完全不同? 什么是回表查询? 什么是索引覆盖? 如何实现索引覆盖? 哪些场景,可以利用索引覆盖来优化SQL? 这些,这是今天要分享的内容。 画外音:本文试验基于MySQL5.6-InnoDB。 一、什么是回表查询?
《两个工具分析SQL死锁》 《SQL空值带来的大坑》 两个案例分析,展现了MySQL性能分析工具explain的强大。 《同一个SQL语句,为啥性能差异咋就这么大呢?》 详细叙述了explain结果中最重要的type字段(连接类型)的含义。 其实,explain结果中还有一个Extra字段,对分析与优化SQL有很大的帮助,今天花1分钟简单和大家聊一聊。 数据准备: createtableuser( idintprimarykey,
数据库死锁,是最难调试与追踪的。 场景如下: 同一个表,事务内先插入一条记录,再更新这条记录,并发时会死锁。 并且能够复现。 可以通过什么工具模拟并发事务,查看信息,解决问题呢?这是今天要分享的内容。 一、前置准备 setsessiontransactionisolationlevelrepeatableread; setsessionautocommit=0; createtablet( idint(20)primarykeyAU
本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识。 ORM技术 对象关系映射技术,即ORM(Object-Relational Mapping)技术,指的是把关系数据库的表结构映射到对象上,通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 在Python中,最有名的ORM框架是SQLAlchemy。Java中典型的ORM中间件有: Hibe
大家都知道,slow query系统做的好不好,直接决定了解决slow query的效率问题。 一个数据库管理平台,拥有一个好的slow query系统,基本上就拥有了解锁性能问题的钥匙。 但是今天主要分享的并不是平台,而是在平台中看到的奇葩指数五颗星的slow issue。 好了,关子卖完了,直接进入正题: 一、症状 一堆如下慢查询 #User@Host:cra[cra]@[xx]Id:3352884621 #Query_time
MySQL主从复制,读写分离是互联网常见的数据库架构,该架构最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重。 为什么主从延时这么大? 答:MySQL使用单线程重放RelayLog。 应该怎么优化,缩短重放时间? 答:多线程并行重放RelayLog可以缩短时间。 多线程并行重放RelayLog有什么问题? 答:需要考虑如何分割RelayLog,才能够让多个数据库实例,多个线程并行重放RelayLog,不会出现
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态