一定要弄懂的MySQL复制原理~
在之前的MySQL系列文章中陆陆续续分享了MySQL架构中的表结构设计、索引设计。对业务开发的同学来说,掌握这些内容已经能很好地面向业务逻辑进行编码工作了。但是业务需要上线,所以除了表和索引的结构设计之外,你还要做好高可用的设计。
MySQL 8.0 如何创建一张规范的表
这一节内容,基于MySQL8.0版本,聊一下如何创建一张规范的表。首先贴出一张相对规范的表结构:CREATETABLEstudent_info(`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',`stu_name`VARCHAR(10)NOTNULLDEFAULT''C
MySQL到底支不支持哈希索引?(收藏)
经常有朋友问,MySQL的InnoDB到底支不支持哈希索引?对于InnoDB的哈希索引,确切的应该这么说:(1)InnoDB用户无法手动创建哈希索引,这一层上说,InnoDB确实不支持哈希索引;(2)InnoDB会自调优(self-tuning),如果判定建立自适应哈希索引(AdaptiveHash
一次 MySQL 线上事故,被教育了
目录背景分析数据模拟测试解决方案小结今天给大家分享个生产事故,一个由于MySQL分页导致的线上事故,事情是这样的~背景一天晚上10点半,下班后愉快的坐在在回家的地铁上,心里想着周末的生活怎么安排。突然电话响了起来,一看是我们的一个运维同学,顿时紧张了起来,本周的版
MySQL 查询语句的 limit, offset 是怎么实现的?
在写select语句的时候,使用limit,offset可能就像是我们吃饭喝水一样自然了。刚开始工作的时候也经常听前辈们教导:使用limit,offset,当offset变大的时候执行效率会越来越低。相信在前辈们的言传身教,和自己的实战过程中,大家也都知道了为什么会这样。因为select在执行过程中
MYSQL VS POLARDB 唯一索引死锁与应用设计
#issue68021MySQLuniquecheck问题-知乎(zhihu.com)事情的开始是这样的,最近和阿里云密切联系,也成为他们的大客户,(我们当然是大客户,BIGBIGBIGpotato),也就和他们的核心的研发的同学有了密切的接触,这篇文字就是他们的顶尖人物写的关于MYSQL唯一索引的
MySQL 批量插入数据,一次插入多少行数据效率最高?
一、前言我们在操作大型数据表或者日志文件的时候经常会需要写入数据到数据库,那么最合适的方案就是数据库的批量插入。只是我们在执行批量操作的时候,一次插入多少数据才合适呢?假如需要插入的数据有百万条,那么一次批量插入多少条的时候,效率会高一些呢
MySQL 5.7 和 8.0 几处细节上的差异
MySQL8.0相对于MySQL5.7,有很多新特性,比如:快速加列、原子DDL、不可见索引、额外端口、角色管理等。这一节内容,就不讲这些新特性了,只来聊聊最近在工作学习过程中遇到的几处细节上的差异。1int字段类型的差异比如下面的建表语句,在5.7能正常执行:CREATETABLE`t1`(`id
一千行 MySQL 学习笔记
Windows服务--启动MySQLnetstartmysql--创建Windows服务sccreatemysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格)连接与断开服
操作系统宕机,怎么找回MySQL记录?
一、概述如果Linux操作系统宕机,启动不了,救援模式(rescueinstalledsystem)也行不通的时候,那么该机器上的MySQL数据还能恢复吗?如果能,怎么恢复呢?带着这个问题我们做个实验。二、环境介绍准备两台虚拟机,虚拟机软件为virtualbox
MySQL语句优化——隐式字符编码转换
MySQL中我们知道有:如果对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。隐式类型转换也会导致放弃走树搜索。因为类型转换等价于在条件字段上使用了函数比如:假设tradeid字段有索引,且为varchar类型:mysql>select*from
还在用递归查询 MySQL 的树形结构吗?教你一种更好的解决方案!
通常树形结构的存储,是在子节点上存储父节点的编号来确定各节点的父子关系,例如这样的组织结构:与之对应的表数据(department):部门表结构(department)id部门编号name部门名称level所在树层级paren
MySQL 怎么用索引实现 group by?
我们用explain分析包含groupby的select语句时,从输出结果的Extra列经常可以看到Usingtemporary;Usingfilesort。看到这个,我们就知道MySQL使用了临时表来实现groupby。使用临时表实现groupby,成本高,执行慢。如果能够利用索引中记录已经排好序
MySQL夺命15问,你能坚持到第几问?
前言MySQL在面试中经常被问到,本文总结了面试中的经典问题。1.数据库三大范式是什么?第一范式:每个列都不可以再拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式:在第
MySQL明明有索引,为什么不用?
一个经典的MySQL索引问题今天分享一个线上的经典MySQL索引问题。1背景介绍今天在线上运维过程中,遇到了一个MySQL的经典索引问题。线上的表结构不方便展示,我模拟了一个表结构用于说明问题:CREATETABLE`test_index`(`id`int(11)NOTNULL
给你 2 万条数据,怎么快速导入到 MySQL?写得太好了!
一、前言二、直接把list怼进Mysql三、分组把list导入Mys
MySQL关于时间设置的注意事项
时间真的存在吗?有观点认为,时间只是人类构想出来的一种概念,是用来衡量事物变化的标准。对于数据库来说,时间伴随着数据并进。让我们进入MySQL时间漩涡中看一看。1.时间类型的字段MySQL时间类型字段:下面是容易忽略的内容:TIMESTAMP保存数据方式:MyS
MySQL 用 limit 为什么会影响性能?
一.前言首先说明一下MySQL的版本:mysql>selectversion();+-----------+|version()|+-----------+|5.7.17|+-----------+1rowinset(.00sec)表结构:mysql>de
带你一步一步深入了解 MySQL Order By 文件排序
我们日常工作中写SQL语句,经常会使用orderby对记录进行排序。如果orderby能够使用索引中记录已经排好序的特性,就不需要再借助内存或磁盘空间进行排序,这无疑是效率最高的。然而,还是有各种情况导致orderby不能够使用索引,而是要进行额外的排序操作。MySQL把需要借助内存或磁盘空间进行的
Mysql数据库查询好慢,除了索引,还能因为什么?
我熟练应用ctrlc和ctrlv开发curd代码好多年了。mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,