表示 进入内容 140611407015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »
[MySQL Reference Manual] 7 备份和恢复

7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7.

【服务器】  【mysql】  【SQL】  【LOG】  【数据库】  【shell】  【索引】   …

[获取更多]
MySQL 分析服务器状态

2015-11-06 21:46 by pursuer.chen, 1168 阅读, 0 评论, 收藏, 编辑

标签:MYSQL/数据库/性能优化/调优

概述   文章简单介绍了通过一些查询命令分析当前服务器的状态。

【性能优化】  【服务器】  【mysql】  【性能】  【SQL】  【日志】  【数据库】   …

[获取更多]
[MySQL Reference Manual] 6 安全性

6. 安全性 在Mysql安装配置时要考虑安全性的影响,以下几点: Ÿ   常规因素影响安全性 Ÿ   程序自身安全性 Ÿ   数据库内部的安全性,即,访问控制 Ÿ   网络安全性和系统安全性 Ÿ   数据文件的备份,日志文件和配置文件的安全性 6.

【mysql】  【加密】  【日志】  【数据库】  【配置】  【Server】   …

[获取更多]
MySQL物理查询优化技术---index dive辨析

 

一 引子

在MySQL的官方手册上有这么一句话:


the optimizer can estimate the row count for each range using dives into the index or index statistics.

这是在说: 优化器为每一个范围段(如“a IN (10, 20, 30)”是等值比较, 括3个范围段实则简化为3个单值,分别是10,20,30)估计每个范围段(用范围段来表示是因为MySQL的“range”扫描方式多数做的是范围扫描,此处单值可视为范围段的特例)中包括的元组数, 而估计方法有2种,一是dive到index中即利用索引完成元组数的估算,简称index dive; 二是使用索引的统计数值,进行估算.


相比这2种方式,在效果上:

1 index dive: 速度慢,但能得到精确的值(MySQL的实现是数索引对应的索引项个数,所以精确)

2 index statistics: …

[获取更多]
MySQL 5.6 查询优化器新特性的“BUG”

最近碰到一个慢SQL问题,解决过程有点小曲折,和大家分享下。 SQL本身不复杂,表结构、索引也比较简单,不过个别字段存在于多个索引中。

CREATE TABLE `pre_forum_post` (
  `pid` int(10) unsigned NOT NULL,
  `fid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `tid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `first` tinyint(1) NOT NULL DEFAULT '0',
  `author` varchar(40) NOT NULL DEFAULT '',
  `authorid` int(10) unsigned NOT NULL DEFAULT '0',
  `subject` varchar(80) NOT NULL DEFAULT '',
  `dateline` int(10) unsigned NOT NULL DEFAULT '0',
  `message` mediumtext NOT NULL,
  `useip` varchar(15) NOT NULL DEFAULT '',
  `invisible` tinyint(1) NOT NULL DEFAULT '0',
  `anonymous` tinyint(1) NOT NULL DEFAULT '0',
  `usesig` tinyint(1) NOT NULL DEFAULT '0',
  `htmlon` tinyint(1) NOT NULL DEFAULT '0',
  `bbcodeoff` tinyint(1) NOT NULL DEFAULT '0',
  `smileyoff` tinyint(1) NOT NULL DEFAULT '0',
  `parseurloff` tinyint(1) NOT NULL …
[获取更多]
MySQL子查询辨析

 

一 明确IN/EXISTS的语义

1 “expression IN (subquery)”这样的形式,表示一个表达式变量在一个子查询中存在,其结果是布尔值,TRUE或FALSE.

如果subquery 的结果中有重复值,则只要这样的值存在一次,IN格式的子查询结果就为TRUE,所以我们可以把 subquery表意为 “DISTINCT subquery”.

所以,“expression IN (subquery)”这样的形式其实表达的就是半连接的语义.


2 “EXISTS (subquery)”这样的形式,表示在一个子查询中存在子查询指定的情况,其结果是布尔值,TRUE或FALSE.

如果subquery 的结果中有重复值,则只要这样的值存在一次,EXISTS格式的子查询结果就为TRUE,所以我们可以把 subquery表意为 “只要有一个存在就为TRUE”.

所以,“expression IN (subquery)”这样的形式其实表达的也是半连接的语义.

[获取更多]
RDS最佳实践(五)—Mysql大字段的频繁更新导致binlog暴增

背景:RDS Mysql采用的binlog 格式默认为ROW,在Mysql 5.6的版本之前,Mysql每次列的修改(update)都需要记录表中所有列的值。这样就存在一个问题,如果表中包含很多的大字段,表的单行长度就会非常长,这样每次update就会导致大量的 binlog空间生成。针对这个问题,在mysql 5.6中进行了改进,复制支持”row image control” ,只记录修改的列而不是行中所有的列,这对一些包含 BLOGs 字段的数据来说可以节省很大的处理能力,因此此项改进不仅节省了磁盘空间,同时也提升了性能:

binlog_row_image Before image
[获取更多]
个人PPT分享

个人最近几年内整理过的PPT,都放在百度文库上了,大家可以看看 :)

M​y​S​Q​L​ ​t​p​c​h​测​试​工​具​简​要​手​册 高​效​L​i​n​u​x​ ​S​A​ P​C​服​务​器​阵​列​卡​管​理​简​易​手​册​ 服​务​器​基​准​测​试 M​y​S​Q​L​数​据​库​设​计​、​优​化 

[获取更多]
RDS最佳实践(四)—如何处理Mysql的子查询

早上值班同事在旺旺群里面贴了一条非常复杂的SQL,用户从本地迁移到RDS Mysql出现严重性能下降,同样的数据和表结构下,在本地的数据库上只要不到1s的时间,但是在rds上好几分钟都没响应。

碰到这类问题需要考虑以下一些因素:

a.数据库的版本不同(不同的版本优化器策略不一样,或者异构数据库间的迁移:oracle–>mysql,sqlserver–>mysql),导致sql执行计划不同,最后导致sql执行时间不同;

b.数据库的配置不同(不同的内存配置,参数设置–query cache是否打开),导致sql执行时间不同;

c.数据库的数据量不同(系统遇到bug,生成了大量的垃圾数据),导致sql执行时间不同;

根据以上线索,用户是刚刚从线下迁移到RDS的,所以数据量和表结构是相同的;

[获取更多]
相约七夕,记ACMUG2014年8月份活动

8月2号,适逢中国传统佳节七夕节,这是中国传统节日中最具浪漫色彩的一个节日。它来自于牛郎与织女的传说。由于古代女子希望以织女为榜样。所以每逢七姐诞,她们都会向七姐献祭,祈求自己能够心灵手巧、获得美满的姻缘。我们选择在这一天举办活动,也期望在聊技术的同时,某些志同道合的俊男美女能在热烈的讨论中摩擦出爱情的花火,留下一段美事也是ACMUG的佳话。

本次活动有两个主题,分别是来自 CNTV的古雷古大师的《InnoDB Page一瞥》和来自新浪网的李涛带来的《新浪数据库自动化运维平台演进》。

在《InnoDB Page一瞥》中,古大师首先跟大家解释了一下什么是InnoDB Page,让大家有个初步的认识,然后详细介绍了在源码中InnoDB Page的读取,如何进行查询,index的遍历,以及OverFlow …

[获取更多]
表示 进入内容 140611407015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »