
db
追寻北极
没有月亮的晚上,我们相信星光。没有路可走的时候,我们相信远方.--
展开
-
mysql表分区介绍
1,查看是否支持分区:mysql> show variables like '%part%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| have_partitioning | YES |+-------------------+--原创 2014-08-01 11:34:37 · 547 阅读 · 0 评论 -
mysql OUTFILE 与 LOAD DATA
SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。一、SELECT INTO…OUTFILE语法:select * from Table into outfile '/路径/文件名'fields ter原创 2014-08-01 11:42:38 · 1446 阅读 · 0 评论 -
MyISAM和Innodb比较整理总结
MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。 下面先让我们回答一些问题: ◆你的数据库有外键吗? ◆你需要事务支持吗? ◆你需要全文索引吗? ◆你经常使用什么样的原创 2014-08-01 12:54:13 · 568 阅读 · 0 评论 -
MySQL复制原理与配置
一、Mysql复制基本原理 二、Mysql复制中Binlog的三种格式 2.1 三种格式的介绍 2.2 Binlog格式的优缺点 2.3 Binlog基本配置 三、Mysql常见两种复制方式 3.1 异步复制(Asynchronous Replication) 3.2 半同步复制(Semi-synchroous Replicaio转载 2014-08-02 11:19:38 · 832 阅读 · 0 评论 -
mysql mysql.sock文件介绍
mysql.sock应该mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快。Mysql有两种连接方式: (1)TCP/IP (2)socket 对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。 例如你无须定义连接host的具体IP得,只要为空或loca原创 2014-08-02 11:24:02 · 2031 阅读 · 0 评论 -
Mysqlbinlog 使用
一,什么是增量备份增量备份,就是将新增加的数据进行备份。假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据。这样减少服务器的负担。二,启用binlogvi my.cnflog-bin=/var/lib/mysql/mysql-bin.log,如果是这原创 2014-08-02 10:16:15 · 707 阅读 · 0 评论 -
mysqldump 命令完全备份与增量备份
[ 必备配置 ]执行增量备份的前提条件是MySQL打开log-bin日志开关,例如在my.ini或my.cnf中加入 log-bin=C:/Program Files/MySQL/MySQL Server 6.0/Data/mysql-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于mysql数据目录的磁盘上。[ 完全备份]假定星期日下午1点执行完全备份,适用于MyI转载 2014-08-02 10:13:59 · 847 阅读 · 0 评论 -
MySQL’s binary log结构简介
MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器上已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器定位到从服务器在日志中读取的最后一次成功更新的位置。转载 2014-08-02 10:48:26 · 969 阅读 · 0 评论 -
为MySQL选择合适的备份方式
数据库的备份是极其重要的事情。如果没有备份,遇到下列情况就会抓狂:UPDATE or DELETE whitout where…table was DROPPed accidentally…INNODB was corrupt…entire datacenter loses power…从数据安全的角度来说,服务器磁盘都会做raid,MySQL本身也有主从、转载 2014-08-02 10:49:50 · 615 阅读 · 0 评论 -
mysql load操作
load的语法LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCL转载 2014-07-31 15:55:55 · 702 阅读 · 0 评论 -
InnoDB与Myisam的六大区别
14的路InnoDB与Myisam的六大区别MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MY转载 2014-08-01 13:26:19 · 894 阅读 · 0 评论 -
mysq 语句l常见优化
优化Group By语句默认情况下,MySQL 排序所有GROUP BY col1,col2,....。查询的方法如同在查询中指定ORDER BY col1,col2,...。如果显式包括一个包含相同的列的ORDER BY子句,MySQL 可以毫不减速地对它进行优化,尽管仍然进行排序。如果查询包括GROUP BY 但你想要避免排序结果的消耗,你可以指定ORDER BY NULL禁止排序。原创 2014-07-31 15:49:20 · 840 阅读 · 0 评论 -
mysql SHOW PROCESSLIST介绍
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果您不使用FULL关键词,则只显示每个查询的前100个字符。本语句报告TCP/IP连接的主机名称(采用host_name:client_po转载 2014-08-01 12:01:38 · 544 阅读 · 0 评论 -
MySQL update 语句的正确用法
以下的文章主要介绍的是MySQL update 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述,望你看完之后会有收获。单表的MySQL UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr转载 2014-09-18 15:51:27 · 1099 阅读 · 0 评论 -
MySQL语法大全_自己整理的学习笔记
select * from emp; #注释#---------------------------#----命令行连接MySql---------#启动mysql服务器net start mysql#关闭 net stop mysql #进入mysql -h 主机地址 -u 用户名 -p 用户密码 #退出exit#----转载 2014-08-08 18:44:41 · 527 阅读 · 0 评论 -
什么是sharding与切分
Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID 散列)切分到多个数据库(server转载 2014-08-08 20:24:20 · 1023 阅读 · 0 评论 -
表分区性能测试
分区类型hash、range、list、keyRANGE分区:基于一个给定连续区间的列值,把多行分配给分区。LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含M原创 2014-09-19 09:39:05 · 943 阅读 · 0 评论 -
mysql性能优化-慢查询分析、优化索引和配置
目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1) max_connections2) back_log3) interactive_timeout4)转载 2014-09-19 09:41:37 · 687 阅读 · 0 评论 -
Open API 介绍
Open API即开放API,也称开放平台。 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。转载:http://www.cn转载 2014-08-08 20:28:21 · 2177 阅读 · 0 评论 -
mysql数据库锁定机制
前言为了保证数据的一致完整性,任何一个数据库都存在锁定机制。锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析。 MySQL锁定机制简介数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问转载 2014-09-18 22:59:44 · 616 阅读 · 0 评论 -
innodb的锁时间
观察innodb的锁时间,需要关注:mysqladmin extended-status -r -i 1 -uroot | grep "Innodb_row_lock_time" Innodb_row_lock_current_waits:当前正在等待锁定的数量; Innodb_row_lock_time :从系统启动到现在锁定的总时间长度,单位ms;转载 2014-09-19 09:48:36 · 2354 阅读 · 0 评论 -
mysql锁总结
1,MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作 (UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用LOCK TABLE命令给MyISAM表显式加锁2,MyISAM表的读和写是串行的,但这是就总体而言的。在一定条件下,MyISAM表也支持查询和插入操作的并发进行3,MyI原创 2014-09-18 22:32:42 · 643 阅读 · 0 评论 -
处理百万级以上的数据处理
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where nu转载 2014-09-19 09:42:17 · 1021 阅读 · 0 评论 -
mysql show status参数详解
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。Binlog_cache_disk_use 当事务日志比binlog_cache_size大时,他会创建临时文件,该状态表示有多少个事务使用了临时文件Binlog_cache_use 表示有多转载 2014-09-19 10:30:14 · 748 阅读 · 0 评论 -
MySQL的sql语句优化问题
本文从八个方面来讲解如何全新优化MySQL数据库性能。 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,转载 2014-09-19 09:32:20 · 710 阅读 · 0 评论 -
语法:MySQL中INSERT INTO SELECT的使用
1. 语法介绍 有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,转载 2014-09-19 18:01:48 · 1707 阅读 · 0 评论 -
MyISAM配置优化
MyISAM在读操作占主导的情况下是很高效的。特别是count(*)操作,简直无敌了。 可一旦出现大量的读写并发,由于table lock的原因,同InnoDB相比,MyISAM的效率就会直线下降. 关于myisam 的table lock ,可以参照我的另外一篇日志: http://www.zhaokunyao.com/index.php/archives/184而且,MyISAM和Inno原创 2014-08-01 13:24:02 · 1530 阅读 · 0 评论 -
MySQL的btree索引和hash索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash转载 2014-08-01 13:34:08 · 518 阅读 · 0 评论 -
mysql数据库锁定机制
前言为了保证数据的一致完整性,任何一个数据库都存在锁定机制。锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析。 MySQL锁定机制简介数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问转载 2014-08-01 12:55:47 · 570 阅读 · 0 评论 -
MySQL数据恢复--binlog
MySQL Binary Log也就是常说的bin-log,,是mysql执行改动产生的二进制日志文件,其主要作用有两个:* 数据恢复 * 主从数据库。用于slave端执行增删改,保持与master同步。 1.开启binary log功能 需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my转载 2014-08-25 16:36:40 · 631 阅读 · 0 评论 -
MySQL执行计划解读
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id原创 2014-09-09 13:59:17 · 560 阅读 · 0 评论 -
MySQL性能优化
(一)连接连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们。1、max_connections这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存,文章后面有涉及)。2、max_packet_allowed最大数据包大小,通常等于你需要在一个大块中返回的最大数据集的大小,如果你在使用远程mysqldump,那它的值需要更大。原创 2014-08-25 16:33:14 · 587 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)介绍和安装 以及配置
Tokyo Cabinet 是日本人Mikio Hirabayashi 开发的一款DBM 数据库,该数据库读写非常快,哈希模式写入100 万条数据只需0.643 秒,读取100 万条数据只需0.773 秒,是Berkeley DB 等DBM 的几倍。Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP 协议转载 2014-08-25 16:42:52 · 1338 阅读 · 0 评论 -
hello MapDB
apDB是一个快速、易用的嵌入式Java数据库引擎,它提供了基于磁盘或者堆外(off-heap允许Java直接操作内存空间, 类似于C的malloc和free)存储的并发的Maps、Sets、Queues。MapDB的前身是JDBM,已经有15年的历史。MapDB支持ACID事务、MVCC隔离,它的jar包只有200KB,且无其它依赖,非常轻量。MapDB目前的版本是1.0.5,相对来说功能已经稳原创 2014-08-16 16:00:41 · 2753 阅读 · 0 评论 -
oracle 最大并发数 会话数查询
怎样查看oracle当前的连接数SQL> select count(*) from v$session #当前的连接数SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数SQL> select value from v$parameter where name = 'processes' --数据库允许的最原创 2014-08-15 17:45:11 · 10569 阅读 · 1 评论 -
oracle函数trunc的使用
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-182.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.3.s原创 2014-09-12 16:41:39 · 701 阅读 · 0 评论 -
ORACLE日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy转载 2014-09-12 16:49:24 · 1007 阅读 · 0 评论 -
linux下date函数的使用
1、获取当前日期: da=`date "+%Y-%m-%d"` 2、获取当前日期n小时后的日期,n小时前的日期 n=36 #任意数字 da1=`date "+%Y-%m-%d"` #当前日期 da2=`date "+%Y-%m-%d" -d "$da1 +$n hours"` #n小时后,n天后,hours换成days,n月后,hours换成mont转载 2014-09-12 16:48:49 · 3367 阅读 · 0 评论 -
MySQL日期时间函数大全
DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04转载 2014-09-12 16:52:11 · 590 阅读 · 0 评论 -
mysql 中 时间和日期函数
一、MySQL 获得当前日期时间 函数1.1 获得当前日期+时间(date + time)函数:now()mysql> select now();+---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+--------------转载 2014-09-12 16:53:37 · 568 阅读 · 0 评论