随笔分类 - Mysql
1
摘要:前言 Sql语句优化是Mysql性能优化的一部分,我们看下常见Sql语句优化及注意的有哪些。 一、查询SQL尽量不要使用select *,而是具体字段 1. 反例 SELECT * FROM user; 2. 正例 SELECT id,name,tel FROM user 说明: 只返回需要的字段,
阅读全文
摘要:什么是查询优化器了解查询优化器的作用之前,我们先来看看一条 SQL 语句的执行都需要经历哪些环节,如下图所示
阅读全文
摘要:命名规范 一. 基本规范 原则:清晰明了,简洁准确,见名知意。 组成:英文字母, 下划线, 阿拉伯数字。 长度:最长64个字符,建议不超过32, 以免对后序的操作带来不便。 命名方式。 名称中除下划线、数字的部分,要使用英文单词或英文短语或相应缩写,不推荐使用汉语拼音。 禁止使用MySQL关键字和保
阅读全文
摘要:为什么需要连接池 在数据库客户端经过网络与数据库服务端连接时候,需要经历TCP协议的三只握手这个耗时的过程,每次查询一次连接上,返回数据即断开连接,下次再次查询又得重复刚刚的操作,基本步骤是:客户端发起连接请求 → 数据传输 → 关闭连接。每一次这样的连接叫做短连接,而且连接的成本很高,在网络拥塞的
阅读全文
摘要:简介 WAL 的全称是 Write-Ahead Logging,中文称预写式日志,是一种数据安全写入机制。就是先写日志,然后在写入磁盘,这样保证数据的安全性。Mysql中的Redo Log就是采用WAL机制。 WAL作用 Mysql中如果为了保证数据的持久性,在每提交一个事务就将日志刷新到磁盘上,这
阅读全文
摘要:引言 一般我们网站的应用大多数是数据的展示,对于数据库来说就是读数据多写数据少。对于大型网站数据库的读取压力会很大,一般网站的数据库架构就是一个单节点,数据的读写都是在同一个数据库上。 单节点数据库等弊端 1.单节点数据库无法满足性能等要求,比如高负载,大流量,吞吐率低。 2.单节点无法实现高可用,
阅读全文
摘要:1. SQL标准 SQL是Structured Query Language的缩写,属于声明性语言,SQL有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的SQL 标准。 2. 常见的 SQL 分为哪几类? 1. DDL (Data Definition
阅读全文
摘要:索引概述 MYSQL数据库系统除了保存数据之外,为了能够提高对数据的快速访问,MYSQL为此设计了索引,MYSQL索引是一种可以快速提高MYSQL高效查询数据的一种数据结构。举个例子索引就跟我们的书本的目录一样,如果一本书没有目录,那么你要找想看的地方,那会是相当费劲的,只能一页页去翻,而数据库的索
阅读全文
摘要:一.MySQL8.0简介 mysql8.0现在已经发布,2016-09-12第一个DM(development milestone)版本8.0.0发布。新的版本带来很多新功能和新特性,对性能也得到了很大对提升。官方表示 MySQL 8 比之前mysql版本有很大提升,它的速度是 MySQL 5.7
阅读全文
摘要:Mysql PXC介绍 在传统的Mysql主从架构上,采用的Replaction是异步复制方式,这种方式会存在数据弱一致性的问题,数据写入主库之后因为网络及复制的延迟从库不能马上获取刚刚插入的数据,同时它只保证当前节点提交数据成功,而不保证数据同步成功,所以主从复制过程中可能会丢掉数据。 而在某些业
阅读全文
摘要:引言 Mysql主从复制也叫主从同步,是将mysql的某一台主机(master)的数据复制到其它主机(slave)上,并在被复制到的从服务器上执行一遍来保证主服务器和从服务器数据一致。Mysql支持单向,双向,链式级联,异步复制,半同步复制(Mysql5.5后加入),GTID复制(Mysql5.6后
阅读全文
摘要:事务介绍 1. 事务是数据库系统区别其他一切文件系统的重要特征。文件系统不能保证修改两个文件保存内容一致。 2. 事务是由一组具有原子性的sql语句或者是一个独立的工作单元。可以是一个sql,或者有多个增删改查组成的sql语句集合。 3. 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行
阅读全文
摘要:什么是锁 锁是应对并发领域中常见的一种手段,比如在多线程编程中多个线程对同一个资源进行读写,这时候锁可以将并行化的访问变成串行化,来保证数据的安全。所以锁的主要作用是管理共享资源的并发时候的访问。Mysql中的锁是用于实现事务中的隔离性(Isolation)。 Mysql中的锁 Mysql锁的实现是
阅读全文
摘要:了解存储引擎我们先看下mysql的体系架构。 上图是mysql的逻辑架构图,可以看到分了几层。 第一层是大部分网路客户端工具,比如php,python ,JDBC等,主要功能就是连接处理,授权认证等,这层并不是mysql独有的。每个连接到mysql的客户端都会在服务端有个线程,这个连接的查询只会在这
阅读全文
摘要:基准测试定义 基准测试其实是一种测量和评估软件性能指标的方法,用于建立某个时间点的性能基准,以便当系统的软硬件发生变化的时候重新进行基准测试以评估变化对性能的影响。所以对系统性能的测量,才能知道我们的优化是否达到了预期的效果,这样对系统的性能测试叫做基准测试,也是针对系统设置的一种压力测试,观察系统
阅读全文
摘要:先关闭mysql服务 用mysqld_safe启动mysql,并--skip-grant-tables跳过权限的审核。 登录 这样就能进入mysql环境中,修改用户密码。将root用户密码设置为111111 刷新下权限 然后用新密码登录就可以进入
阅读全文
摘要:Mysql按照其运行状态(即停库和运行库)分为冷备份和热备份。热备份有可以分为逻辑备份和裸文件备份。 1. 冷备份:冷备就是在数据库处于关闭的情况下进行对数据库的备份。 优点: 1.可以保证数据的完整性。 2.备份过程简单且恢复速度相对快些。 缺点: 1.由于数据库的关闭,会影响现有的业务运行,会一
阅读全文
摘要:在数据表我们有时候有些表字段会为null,表示空。其实在mysql中null值是占用空间的。 mysql手册如下解释 下面表中有些字段是为null 的 统计数量用count(字段) 只返回4条数据 用count(1) 返回所有数据条数 当列里面包含null,查询容易出错,如下只返回了3条数据 排序时
阅读全文
摘要:MySQL优化思路 1. 1 优化的范围有哪些 存储、主机和操作系统方面: 1)主机架构稳定性 2)I/O规划及配置 3)Swap交换分区 4)OS内核参数和网络问题 应用程序方面: 1)应用程序稳定性 2)SQL语句性能 3)串行访问资源 4)性能欠佳会话管理 5)这个应用适不适合用MySQL 数
阅读全文
摘要:MySQL基本操作分类 SQL是结构化查询语言(Structured Query Language)简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 1. DDL(data definition language) : 数据库定义语言 用来定义创建操作表的时候用
阅读全文
1