优化 SQL 的一般步骤

1,通过show status 命令了解各种SQL的执行频率 比如Com_select 记录执行select查询的操作次数,一次查询只累加1 2,定位执行效率较低的SQL语句 1通过慢查询日志定位,2慢查询在查询结束后才记录,使用show processlist查看 3,通过EXPLAIN分析低效SQL的执行计划 4,通过show profile 分析SQL(>mysql5.0.37) mysql&g...

[阅读更多 →]

MySQL 的奇技淫巧 - 避免重复插入数据

Mysql的奇技淫巧 - 避免重复插入数据 MySql 避免重复插入数据 通常那我们插入一条带有唯一性字段数据的时候,我们先去查一下数据库有没有相同数据,需要操作2次数据库,总感觉这样做特别的low,那么咱们来看下怎么操作一次数据库实现来这样的需求,当然这个唯一性数据要给他设置上主键索引或者唯一索引 1、初始演示表: (1) 测试表结构 字段 类型 是否null 默认 说明 id int no 主键...

[阅读更多 →]

MySQL 的奇技淫巧 - SQL 技巧

一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status !=0 and stauts !=1 not in/not exists都不是好习惯 可以优化为in查询: select * from order where status in(2,3) (2)前导 模糊查询不能使用索引 select * from order where desc like...

[阅读更多 →]

MySQL 性能测试&压力测试-mysqlslap

MySQL 性能测试&压力测试-mysqlslap MySQLSlap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具。MySQLSlap通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个存储引擎(MyISAM,InnoDB等)在相同环境下的相同并发压力下的性能差别。 MySQLSlap特点是语法简洁,使用方便,可对mysql进行...

[阅读更多 →]

MySQL 锁及其机制的探究和详解

MySQL锁及其机制的探究和详解 MySQL 锁 1、screen 在介绍MySQL锁之前啊,先给大家介绍一个工具的使用screen,便于大家实践检验真理: Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。 我们这次用它的一...

[阅读更多 →]

DB 主从一致性架构优化 4 种方法

DB主从一致性架构优化4种方法 MySQL 主从一致性 需求缘起 大部分互联网的业务都是“读多写少”的场景,数据库层面,读性能往往成为瓶颈。如下图:业界通常采用“一主多从,读写分离,冗余多个读库”的数据库架构来提升数据库的读性能。 图1 这种架构的一个潜在缺点是,业务方有可能读取到并不是最新的旧数据: 图2 (1)系统先对DB-master进行了一个写操作,写主库 (2)很短的时间内并发进行了一个读操作,读从库...

[阅读更多 →]

MySQL 双主一致性架构优化

MySQL双主一致性架构优化 MySQL 一致性 一、双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。 在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式来保证写库的高可用。 二、并发引发不一致 数据冗余会引发数据的一致性问题,因为数据的同步有一个时间差,并发的写入可能导致数据同步失败,引起数据丢失...

[阅读更多 →]