mysql
一切是浮云
这个作者很懒,什么都没留下…
展开
-
MySQL的mysqldump工具的基本用法
导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 注意,如果你运行mysqldump没有--quick或--opt选项转载 2015-03-09 10:19:26 · 329 阅读 · 0 评论 -
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2015-03-29 23:32:48 · 248 阅读 · 0 评论 -
理解MySQL——并行数据库与分区(Partition)
1、并行数据库 1.1、并行数据库的体系结构并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的。对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput),在给定的时间段里所能完成的任务数量;(2)响应时间(Response time),单个任务从提交到完成所需要的时间。对于处理大量小事务的系统,通过并行地处理许多事务可以提高它的吞吐量。转载 2015-03-29 23:35:08 · 340 阅读 · 0 评论 -
mysql数据库锁定机制
前言为了保证数据的一致完整性,任何一个数据库都存在锁定机制。锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析。 MySQL锁定机制简介数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享转载 2015-03-29 23:28:31 · 233 阅读 · 0 评论 -
理解MySQL——复制(Replication)
1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary log)中(这些记录叫做转载 2015-03-29 23:34:06 · 230 阅读 · 0 评论 -
浅谈mysql的两阶段提交协议
5.3.1事务提交流程MySQL的事务提交逻辑主要在函数ha_commit_trans中完成。事务的提交涉及到binlog及具体的存储的引擎的事务提交。所以MySQL用2PC来保证的事务的完整性。MySQL的2PC过程如下:(1)先调用binglog_hton和innobase_hton的prepare方法完成第一阶段,binlog_hton的papare方法实际上什么也没转载 2015-03-29 23:35:01 · 592 阅读 · 0 评论 -
浅谈MySQL备份字符集的问题
1 引子MySQL备份时选择字符集是一个难题,特别是字符集不定的业务。mysqldump默认使用utf8,而官方也推荐使用utf8。但实际上,对于中文,部分相当一部分gbk编码字符没有对应的unicode编码,也就是说这部分字符集使用utf8备份会导致数据丢失。那么有没有解决方法呢?当然,最直接的方法是将这部分编码的映射加上。但是,这部分的字符集数量并不是少数,而且,更蛋疼的是,似转载 2015-03-29 23:35:26 · 434 阅读 · 0 评论 -
Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来转载 2015-03-29 23:53:24 · 481 阅读 · 0 评论 -
Mysql 数据库热备份
主从模式:主服务器server1: 192.168.1.20 Mysql 5.0 需要备份的数据库 mydb从服务器server2: 192.168.1.22 Mysql 6.0 1.备份现有数据:最好先停止mysql service使用[MysqlHome]:\bin\mysqldumple.转载 2015-03-29 23:54:33 · 422 阅读 · 0 评论 -
sql语句优化
sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)视图嵌套不要转载 2015-03-30 01:22:04 · 420 阅读 · 0 评论 -
理解MySQL——架构与概念
写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了。但从5.0(2005年10月)开始,MySQL渐渐步入企业级数据库的行列了;复制、集群、分区、分布式事务,这些企业级的特性,使得现在的MySQL,完全可以应用于企业级应用环境(很多互联网公司都用其作为数据库服务器,尽管节约成本是一个因素,但是没有强转载 2015-03-29 23:32:11 · 230 阅读 · 0 评论 -
mysql存储过程详解
mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存转载 2015-03-29 22:10:09 · 324 阅读 · 0 评论 -
mysql事务处理
事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 删除的SQL语句delete from userinfo where ~~~delete from mail where转载 2015-03-27 13:48:18 · 386 阅读 · 0 评论 -
mysql日志详细解析
MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。错误日志在mysql数据库中,错误日志转载 2015-03-09 10:18:41 · 332 阅读 · 0 评论 -
查看mysql正在执行的SQL语句
在项目开发里面总是要查看后台执行的sql语句,mysql数据库也不例外,它的查看方式大家一般喜欢使用 show processlist; 命令来解决,通过里面输出结果的字段解释中可以分析执行了的sql语句类型,但不太适合一般的初级使用者,因此通过日志文件查看sql语句是最直接的方法。首先你需要创建一个日志文件log.txt ,比如我直接保存在mysql目录下的data目录中转载 2015-03-09 10:11:26 · 866 阅读 · 0 评论 -
mysql性能优化-慢查询分析、优化索引和配置
目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1) max_connections2) back_log3) interactive_timeout4)转载 2015-03-09 10:10:47 · 354 阅读 · 0 评论 -
MySQL数据库备份之逻辑备份和物理备份概述
一. 前言逻辑备份和物理备份各有优劣,一般来说,物理备份恢复速度比较快,占用空间比较大,逻辑备份速度比较慢,占用空间比较小。逻辑备份的恢复成本高。二. 逻辑备份逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现。1)mysqldumpmysqldump是采用SQL级别的备份机制,他将数据表导成SQL脚本文件,是最常用的逻辑备份方法转载 2015-03-09 10:06:31 · 7135 阅读 · 0 评论 -
Mysql缓存命中率
MySQL缓存命中率,网上说法不一,下面我说下我的看法,大家轻拍:总的select查询数等于com_select(没命中) + qcache_hits(命中) + 解析错误的查询。再来看看Com_select变量:[sql] view plaincopyprint?mysql> show global status like 'Com转载 2015-03-09 10:42:40 · 1120 阅读 · 0 评论 -
数据库索引 - 【聚集索引和非聚集索引】
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要转载 2015-03-09 10:57:18 · 272 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
URL:http://wenku.baidu.com/link?url=qVeVWWuA401m5F54ja_LMg16QZ2jrbISqDdOBEMXLMlaXaPJPcDhlHn8KQ736cMet6GSHjwzp8glpqHzMinYTEQ0fOhIe6A7qTZ_oUa2g4a简化:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中转载 2015-03-11 13:42:51 · 457 阅读 · 0 评论 -
SQL查询优化,索引优化
URL : http://www.cnblogs.com/zengxiangzhan/archive/2009/12/04/1617186.htmlsql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句转载 2015-03-11 13:52:12 · 591 阅读 · 0 评论 -
乐观锁和悲观锁
为什么需要锁(并发控制)?在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看转载 2015-03-25 11:19:43 · 287 阅读 · 0 评论 -
Mysql几种索引类型的区别及适用情况
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引转载 2015-07-10 15:05:30 · 603 阅读 · 0 评论