![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 62
奔跑的码农
热爱web开发,热爱生活!
展开
-
Canal——阿里巴巴开源的基于binlog的MySQL增量订阅&消费组件
简介canal主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费,应用场景十分丰富。常用场景电商场景下商品、用户实时更新同步到至Elasticsearch、solr等搜索引擎; 价格、库存发生变更实时同步到redis; 数据库异地备份、数据同步; 代替使用轮询数据库方式来监控数据库变更,有效改善轮询耗费数据库资源。工作原理MySQL主备复制原理...原创 2020-04-02 15:45:58 · 897 阅读 · 0 评论 -
PHP-用PDO操作MySQL数据库
先建立数据库。复制代码到TXT文件,然后另存为'建立数据库.txt' 最后修改为'建立数据库.sql',最后用navicat运行数据库文件。就建好数据库了。代码如下:CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(25) NOT NULL DEFAULT '', ...原创 2018-04-22 11:44:41 · 1820 阅读 · 0 评论 -
mysqli 预处理详解
预处理语句及绑定参数预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。预处理语句的工作原理如下:预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出执行:最后,...原创 2018-04-22 11:38:47 · 1256 阅读 · 0 评论 -
在线更改MySQL表结构工具pt-online-schema-change
原文出处:https://blog.csdn.net/lovelichao12/article/details/73549939总所周知,数据库最昂贵的操作莫过于DDL操作,因为MySQL在修改表期间会阻塞任何读写操作的,基本上你的业务出于瘫痪状态了。对于庞大的可能历时好几个小时才完成,简直就是个恶梦,没法容忍的操作。Percona开发了一系列工具Percona Toolkit包,其中有一工具pt...原创 2018-03-29 18:35:58 · 930 阅读 · 0 评论 -
MySQL单表查询优化技巧
索引能做什么?索引主要做3件事:过滤(filter),排序或分组(sort/group),覆盖(cover)。前两个没什么好说的,但并不是每个人都知道什么叫“覆盖索引”。事实上这是个很简单的东西。一个基本查询的工作流如下:1. 使用索引以查找匹配的记录,并得到数据的指针。2. 使用相关数据的指针。3. 返回查询到的记录。当可以使用覆盖索引时,索引将会覆盖查询中的所有字段,因此第二步将会被跳过,于是...原创 2018-03-13 17:52:59 · 658 阅读 · 0 评论 -
MySQL中DISTINCT与GROUP BY计数原理分析
原文出处:架构之美通常,我们要统计一个字段有几种值有两种方法:在语句中使用DISTINCT或者GROUP BY,配合count进行查询。例如:SELECT count(DISTINCT col) FROM table;SELECT count(1) FROM (SELECT 1 FROM table GROUP BY col) alias;那么这两者的效率究竟如何呢?网上的答案原创 2017-12-28 15:59:32 · 3926 阅读 · 0 评论 -
Oracle官方中间件:MySQL Router架构简介
原文出处:架构之美今天我们来简单介绍一下Oracle官方出品的数据库负载均衡利器——MySQL Router。什么是MySQL Router?MySQL Router是一个介于应用层和DB层之间的开源的轻量级中间件,它能够将前端应用的请求分析转发给后端DB服务器处理,从而实现DB的负载均衡,可以说它是先前MySQL Proxy的替代品,我们可以在Github找到它的源码。类似的转载 2017-12-28 15:54:39 · 3714 阅读 · 0 评论 -
实战记录:一次真实的线上SQL语句优化
本文章首发于头条号 架构之美背景:最近重构公司一小模块的RPC服务,由于旧的服务框架监控对于边缘业务统计并不完善,切换到新服务之后,从慢SQL监控中发现了不少慢SQL语句,虽然并不是什么特别重要的业务,但是既然这东西到咱手上,就权当练练手吧。总请求量先看一下总请求量,做到心里有数。从这一小块服务的每日请求量统计来看,日均请求510万左右,不是很多,可以放心搞 :-)慢S原创 2017-11-03 09:59:10 · 2031 阅读 · 1 评论 -
MySQL数据库主从同步延迟分析及解决方案
MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。Slave的SQL Thread线程将主库的DDL和DML操作事件在slave中重放。DML和DDL的IO操作是随即的,不是顺序的,成本高很多。另一方面,由于SQL Thread也是单线程的,当主库的并发较高时,产生的DML数量超过slave的SQL Thread所能处理的速度,或者当slave中有大型query语句产生了锁等待那么延时就产生了。原创 2017-10-08 15:36:21 · 2428 阅读 · 0 评论 -
MySQL的B+索引和Hash索引的区别
Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B+树索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,那为什么大家不都用Hash索引而还要使用B+树索引呢?1. Hash索引仅仅能满足"=","IN"和""查询,不能使用范围查询。因为经过相应的Hash算法处理之后的Hash值的大小关系,并不能保证和Hash运算前完全一样;2. Hash索引无法被用原创 2017-08-06 22:07:36 · 3018 阅读 · 0 评论 -
InnoDB存储引擎B+树索引介绍
一、InnoDB索引概述:InnoDB存储引擎支持B+树索引、哈希索引、全文索引和空间索引,后两种很少用到,本文主要介绍B+树索引。B+树是从最早的平衡二叉树(AVL)演变而来,但是B+树不是一个二叉树。B+中的B不代表二叉(Binary),而是代表平衡(Balance)。其他常见的树结构还有BST,红黑树,B树,B*树。MySQL中的B+树索引可以分为聚集索引(clustered i原创 2017-08-06 16:27:06 · 7358 阅读 · 0 评论 -
MySQL索引优化——覆盖索引
MySQL索引优化——覆盖索引最近处理老的业务代码遇到这么个例子:表结构如下:CREATE TABLE `group_user_` ( `id` int(11) NOT NULL auto_increment, `uid` int(11) NOT NULL, `username` varchar(16) NOT NULL, `gid` int(11) NOT NULL, `create_ti原创 2017-08-02 20:40:58 · 896 阅读 · 0 评论 -
MYSQL索引分类介绍
从数据结构角度1、B+树索引2、hash索引3、FULLTEXT索引(InnoDB引擎5.7以后支持)4、R-Tree索引(用于对GIS数据类型创建SPATIAL索引)问题:这些索引的区别跟用途在哪?B+树相比hash的优点在哪?从物理存储角度1、聚簇索引(clustered index)2、非聚簇索引(non-clustered index)问题:实现方式有什么差异?从逻辑角度1、主键索引2、单列索引3、多列索引4、唯一索引原创 2017-08-02 20:38:45 · 1307 阅读 · 0 评论 -
InnoDB间隙锁简介
MySQL InnoDB支持三种行锁定方式:行锁(Record Lock):锁直接加在索引记录上面。间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间。Next-Key Lock:行锁与间隙锁组合起来用就叫做Next-Key Lock。原创 2017-06-11 19:01:07 · 1514 阅读 · 0 评论 -
MySQL事务隔离级别详解
一、什么是事务1、事务概念:事务是包含了一组有序的数据库操作命令的序列,它是数据库并发操作的最小控制单位。2、事务特性:原子性:事务包含的数据库操作命令要么都执行,要么都不执行。一致性:当事务完成时,数据库处于稳定而一致的状态。即事务执行后,数据库数据要符合规定,而且所有数据查询的结果是一致的。隔离性:多个事务同时执行时,他们之间是互不干扰的。永久性:一旦事务提交成功,它引原创 2017-05-30 12:00:35 · 943 阅读 · 0 评论 -
MySQL自带数据库-information_schema简单介绍
information_schema提供了访问数据库元数据的方式,其中保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名或表名,列的数据类型,或访问权限等。在INFORMATION_SCHEMA中,有些只读表,它们实际上是视图,而不是基本表,所以无法看到与之相关的任何文件。information_schema数据库表说明:SCHEMATA:提供了当前mysql实原创 2016-09-12 21:53:50 · 5943 阅读 · 0 评论 -
CentOS 7 上编译安装MySQL 5.6.29
网上虽然很多已经资料存在,但是参差不齐,新手往往要折腾很久才安装成功。这里作一下简单介绍,博主亲测可用!系统镜像:CentOS-7-x86_64-Minimal-1511.iso,如果是Win系统下虚拟机安装最好顺带安装PuTTY工具,方便操作!原创 2016-05-06 22:06:54 · 636 阅读 · 0 评论