
数据库技术
文章平均质量分 71
iteye_2005
这个作者很懒,什么都没留下…
展开
-
MySql多表关联Update笔记
MySql多表关联Update笔记对单表执行更新没有什么好说的,无非就是update table_name set col1 = xx,col2 = yy where col = zz,主要就是where条件的设置。有时候更新某个表可能会涉及到多张数据表,例如:update table_1 set score = score + 5 where uid in (select...原创 2012-04-13 18:58:17 · 156 阅读 · 0 评论 -
转mysql数据库优化实践
最近一段时间,我们整理了一些关于Percona,Linux,Flashcache,硬件设备的优化经验,分享给大家:硬件1.开启BBWCRAID卡都有写cache(Battery Backed Write Cache),写cache对IO性能的提升非常明显,因为掉电会丢失数据,所以必须由电池提供支持。电池会定期充放电,一般为90天左右,当发现电量低于某个阀值时,会将写cache策略从w...原创 2013-01-23 16:05:02 · 107 阅读 · 0 评论 -
Redis并发问题
Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。对此有2种解决方法:1.客户端角度,为保证每个客户端间正常有序与Redis进行通信,对连接进行池化,同时对客户端读...原创 2013-04-08 15:06:17 · 595 阅读 · 0 评论 -
使用并监控proxool连接池
proxool是一个强大的connection pooling项目, 兼容于 jdk 1.3 以及 1.4。也已经实现了监控, 纪录等等的功能, 对于一个有限制connection数量, 及注重performation的项目来说, 是一套非常完整的解决方案。 下载地址:http://sourceforge.net/projects/proxool/ 首先, 你要把下载...原创 2013-04-10 13:49:20 · 92 阅读 · 0 评论 -
开源DBCP、C3P0、Proxool 、 BoneCP连接池的比较
开源DBCP、C3P0、Proxool 、 BoneCP连接池的比较 简介 项目主页 使用评价 DBCPDBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用http://commons.apache.org/dbcp/downloads.htmlhttp://commons...原创 2013-04-10 13:49:43 · 77 阅读 · 0 评论 -
proxool与tomcat DBCP连接池性能评测
proxool与tomcat DBCP连接池性能评测proxool与tomcat DBCP连接池性能评测这次测试只是自己的兴趣,自认为还比较科学,欢迎指正。测试条件:写了两个JSP页面,一个用的proxool连接池,另一个用的tomcat DBCP连接池。这两个页都执行一样的工作,就是循环100次,每次从mysql里select 一列数据显示在页面上,这一列是20个string...原创 2013-04-10 13:49:54 · 149 阅读 · 0 评论 -
BoneCP学习笔记——配置参数
一、BoneCP配置文件格式(bonecp-config.xml):Xml代码 <?xml version="1.0" encoding="UTF-8"?> <bonecp-config> <default-config> <!-- ... --> <pro原创 2013-04-11 13:26:01 · 114 阅读 · 0 评论 -
BoneCP 学习笔记
什么是BoneCP BoneCP 是一个快速、免费而且开源的java数据库连接池(JDBC Pool)管理工具库。如果你曾经使用过C3P0或者DBCP,那你肯定知道上面这句话的意思;如果你没用过这些,那简单的解释一下,它是一个能为你的应用管理数据库连接的工具。 官方网站:http://jolbox.com/ 为什么要学习BoneCP 本着不重复发明轮子...原创 2013-04-11 13:26:33 · 108 阅读 · 0 评论 -
监控Proxool连接池的活动连接变化情况
/**//**@author 我为J狂 建立日期 2007-4-18**/package net.blogjava.lzqdiy;import java.net.URL;import java.sql.*;import org.logicalcobwebs.proxool.ProxoolException;import org.logicalcobwebs.proxool.Proxoo...原创 2013-04-11 13:26:47 · 182 阅读 · 0 评论 -
Mysql分表和分区的区别
一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例 二,mysql分表和分区有什么区别呢 1,实现方式上 a),mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是...原创 2013-04-28 09:43:25 · 115 阅读 · 0 评论 -
mysql分区
一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi...原创 2013-04-28 09:49:58 · 78 阅读 · 0 评论 -
Mysql分表的三种方式
一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 根据个人经验,mysql执行一个sql的过程如下: 1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。...原创 2013-04-28 09:51:53 · 102 阅读 · 0 评论 -
Mysql 监控执行速度慢的语句
首先,需要开启一个慢查询输出的一个机关:log_slow_queries。 可以在MySQL配置文件中(my.ini/my.cnf)中设置,也可以通过MySQL客户端临时设置。 第二种方法的好处是,可以不用重启MySQL服务,而使设置生效。 那就来试试这个: 首先通过客户端连接到Mysql服务器,然后输入下面的语句:SET GLOBAL log_slow_queries = ON;S...原创 2013-04-28 09:54:23 · 275 阅读 · 0 评论 -
mysql数据库备份与还原命令
还原一个数据库:mysql -h localhost -u root -p123456 www备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql其中WWW为数据库名//以下是在程序中进行测试//$command = “mysqldump –opt -h $dbhost -u ...原创 2015-09-12 04:22:14 · 481 阅读 · 0 评论 -
Redis被bgsave和bgrewriteaof阻塞的解决方法
Redis 是一个性能非常高效的内存 Key-Value 存储服务, 同时它还具有两个非常重要的特性: 1. 持久化; 2. Value 数据结构. 这两个特性让它在不少场景轻松击败了 Memcached 和 Casandra 等.Redis 的持久化在两种方式: Snapshotting(快照) 和 Append-only file(aof). 在一个采用了 aof 模式的 Redis ...原创 2013-08-13 13:49:01 · 102 阅读 · 0 评论 -
Redis内存使用优化与存储
Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上...原创 2013-08-13 13:46:50 · 76 阅读 · 0 评论 -
Mysql Explain 详解
Mysql Explain 详解Mysql Explain 详解一.语法explain < table_name >例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+--------...原创 2012-04-18 16:50:08 · 159 阅读 · 0 评论 -
源码编译安装 MySQL 5.5.x 实践
源码编译安装 MySQL 5.5.x 实践 1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,我们首先要在系统中源码编译安装cmake工具。# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz# tar zxvf cmake-2....原创 2012-04-20 00:03:16 · 84 阅读 · 0 评论 -
linux 下mysqllinux下mysql安装、目录结构、配置
linux下mysql安装、目录结构、配置1、准备安装程序(官方网站下载)服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm客户端:MySQL-client-community-5.1.44-1.rhel4.i386.rpm2、安装(打印信息略)[root@localhost /]#rpm -ivh My...原创 2012-04-21 10:33:23 · 137 阅读 · 0 评论 -
线上MySQL机器内存爆掉原因分析与解决
现象: 阿里金融某业务的MySQL机器的内存每隔几天就会增长,涨上去后,却不下来。累积后内存爆掉分析: 此业务是间隔的对MySQL有大访问,其它时间几乎无访问。排查发现,内存涨时,一般会有MySQL读非常大,主要是InnoDB_DATA_READS。 结合此时的特性,业务同学给出此时的主要场景: 1、14个线程并发; 2、写入数据流程:先查询再updat...原创 2013-05-03 15:33:23 · 556 阅读 · 0 评论 -
Mysql Merge表的优点
Mysql Merge表作用类似于Mysql数据库中的视图,下文对Mysql Merge表作了详细的介绍,如果您对此方面感兴趣的话,不妨一看。AD: 2013大数据全球技术峰会低价抢票中 在Mysql数据库中,Mysql Merge表有点类似于视图。下面就让我们来一起了解一下Mysql Merge表都有哪些优点,希望对您能有所帮助。Mysql Merge表的优点...原创 2013-05-05 08:38:21 · 250 阅读 · 0 评论 -
MySQL分表实现上百万上千万记录分布存储的批量查询设计模式
我们知道可以将一个海量记录的 MySQL 大表根据主键、时间字段,条件字段等分成若干个表甚至保存在若干服务器中。唯一的问题就是跨服务器批量查询麻烦,只能通过应用程序来解决。谈谈在Java中的解决思路。其他语言原理类似。这里说的分表不是 MySQL 5.1 的 partition,而是人为把一个表分开存在若干表或不同的服务器。1. 应用程序级别实现见示意图SelectThreadManag...原创 2013-05-05 08:38:32 · 177 阅读 · 0 评论 -
MySQL MyISAM表结构的恢复
MySQL MyISAM表结构的恢复方法是怎样的呢?这是很多人都提过的问题,下面就为您详细介绍MySQL MyISAM表结构的恢复方法,供您参考。MySQL MyISAM类型的表恢复相对比较简单。同样先假定需要恢复的表的FRM文件为test_myisam.frm,表结构为mysql> create table test_myisam -> (A int...原创 2013-05-05 08:38:42 · 238 阅读 · 0 评论 -
mysql 利用binlog增量备份,还原实例
一,什么是增量备份增量备份,就是将新增加的数据进行备份。假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据。这样减少服务器的负担。二,启用binlogvi my.cnflog-bin=/var/lib/mysql/mysql-bin.log,如果是这样的话log-b...原创 2013-05-05 08:38:54 · 100 阅读 · 0 评论 -
Mysql失效后的数据恢复
本篇文章用于一些特殊情况下,Mysql数据库失效,而数据无法正常导出的数据恢复解决方案。 1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 5.0\。结果,失败:数据库连接错误。 2. 卸载后重装MySQL,将D:\Pro...原创 2013-05-06 16:01:58 · 119 阅读 · 0 评论 -
mysql悲观锁总结和实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即...原创 2013-05-07 14:41:20 · 79 阅读 · 0 评论 -
Llinux中mysql数据单向&双向同步笔记
MySQL数据结构SQLSQL ServerLinux最近因项目要求,在linux服务器上设置mysql的数据同步,幸好网络资源多啊,google一下全有了,不过实际操作起来,就麻烦了,遇到很多问题,不过多google一下也解决了,同时学习了很多相关方面的知识,现将总结于此,以备后用,希望对有此需要的JE们有所帮助;一、准备环境 自己做练习硬件资源少,只能在虚拟器上操作了...原创 2012-05-02 10:27:25 · 117 阅读 · 0 评论 -
InnoDB和MyISAM的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性...原创 2013-08-07 11:30:03 · 91 阅读 · 0 评论 -
mysql日志的使用
mysql有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。 例如: #Enter a name for the binary log. Otherwise a ...原创 2013-04-28 09:56:17 · 78 阅读 · 0 评论