对于MySQL,最简单的衡量查询开销的三个指标如下: 1:响应时间 2:扫描的行数 3:返回的行数
分类: mysql
如何删除大表
大表数据如何在不影响正常业务的情况下删除?
数据类型:JSON
MySQL支持一种由RFC 7159定义的原生JSON数据类型,可以有效地访问JSON (JavaScript对象表记法)文档中的数据。
备份与恢复
备份数据库非常重要,这样您就可以恢复数据,并在发生问题时再次启动并运行,例如系统崩溃,硬件故障或用户错误地删除数据。
在升级MySQL安装之前,备份也是必不可少的保护措施,它们可用于将MySQL安装转移到另一个系统或设置复制slave服务器。
字符集设置
一说到字符集,大家就想到了Incorrect string value: ‘\xF0\x9F\xA5\xBA’ for column ‘xxx’,大家一看就知道这是字符集乱码了,那么什么情况下会产生乱码呢?
分区表
对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成。实现分区的代码实际上是对一组底层表的句柄对象(Handler Object)的封装。
对分区表的请求,都会通过句柄对象转化成对存储引擎的接口调用。
事务ID分配时间
我们一般会用start transaction或begin开始一个事务,自然而言的我们认为在这个时候就已经分配了一个事务ID,其实并不是这样。那么究竟什么时候分配呢?
脏读,不可重复读,幻读
在ACID的保护下,数据是不是就一定不会产生不一致的现象?下面我们可以分析一下。
Undo Log
Undo Log中存储的是老版本数据,当一个旧的事务需要读取数据时,为了能读取到老版本的数据,需要顺着undo链找到满足其可见性的记录。
Redo Log
重做日志用来实现事务的持久性,即事务ACID中的D,其由两部分组成:一是内存中的重做日志缓冲(redo buffer),其是易失的,二是重做日志文件(redo log file),其是持久的。