mysql
梦想的征途
这个作者很懒,什么都没留下…
展开
-
MySQL SQL优化
前言有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧。注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础。 优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO操作所占用的,减少 IO 次数是 SQL 优化中转载 2014-07-10 17:38:07 · 369 阅读 · 0 评论 -
MySQL 查询缓存
MySQL查询缓存可以跳过SQL解析优化查询等阶段,直接返回缓存结果给用户,查询缓存的工作流程如下: 命中条件缓存存在一个hash表中,通过查询SQL,查询数据库,客户端协议等作为key.在判断是否命中前,MySQL不会解析SQL,而是直接使用SQL去查询缓存,SQL任何字符上的不同,如空格,注释,都会导致缓存不命中.如果查询中有不确定数据,例如CURRENT_DATE()和NOW转载 2014-07-10 17:36:36 · 315 阅读 · 0 评论 -
mysql日志设置优化
前言在安装完MySQL之后,肯定是需要对MySQL的各种参数选项进行一些优化调整的。虽然MySQL系统的伸缩性很强,既可以在有很充足的硬件资源环境下高效的运行,也可以在极少资源环境下很好的运行,但不管怎样,尽可能充足的硬件资源对MySQL的性能提升总是有帮助的。在这一节我们主要分析一下MySQL的日志(主要是Binlog)对系统性能的影响,并根据日志的相关特性得出相应的优化思路。 日志转载 2014-07-10 17:32:09 · 342 阅读 · 0 评论 -
MySQL执行计划解读
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id包含一组数字转载 2014-07-10 17:37:17 · 331 阅读 · 0 评论 -
MySQL表结构优化
前言 很多人都将作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求。殊不知,在N年前被奉为“圣经”的数据库设计3范式早就已经不完全适用了。这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用。 由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以pa转载 2014-07-10 17:38:40 · 260 阅读 · 0 评论 -
MySQL缓存参数优化
MySQL数据库性能优化之缓存参数优化 数据库属于 IO密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO。本文先从 MySQL数据库IO相关参数(缓存参数)的角度来看看可以通过哪些参数进转载 2014-07-10 17:31:13 · 367 阅读 · 0 评论 -
nysql加锁处理分析
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险转载 2017-11-01 14:41:43 · 474 阅读 · 0 评论