实现秒杀的几个想法
第一种场景,秒杀单个商品,多人抢占一个商品资源,可以使用唯一索引进行控制.commodity是商品表,记录可以秒杀的商品commodity_log是秒杀记录表,记录那些用户...
构建高效且可伸缩的结果缓存
<span style="font-family:Courier New;"><span style="font-size:16px;"><span style="color:#003399;">JAVA并发编程实践<br />第85页<br /><br />环境 JDK1.6(貌似使用1.7编译会有问题)<br /><br />第一版 <span style="color:#0000FF;letter-spacing:0.100000001490116px;line-height:15.6000003814697px;whit...
MySQLDump关于single-transaction和master-data的一个细节.
前文的一个细节http://blog.itpub.net/29254281/viewspace-1392757/
Oracle快速导出平面文件
<span style="font-family:Courier New;"><span style="font-size:16px;"><span style="color:#003399;">转载自:<br />http://jackass.io/2009/03/18/oracle-fast-parallel-data-unload-into-ascii-files/<br /><br /><br /><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0pt;" star...
缓解MySQL写入压力和主从延迟的尝试
<span style="font-family:Courier New;"><span style="font-size:16px;"><span style="color:#003399;">最近单位需要用MySQL存放大量的日志数据.<br />写入压力很大,并且有很大的主从延迟.<br /><br />具体环境如下<br />MySQL 5.6.14<br />服务器(单CPU,6核心,12线程 32G内存)<br />服务器硬盘(共33T,Raid5)<br />...
Xtrabackup备份到远程服务器
1.配置SSH密钥认证ssh-keygenssh-copy-id -i root@127.0.0.12.备份并传输innobackupex --user root --password "root" --port 30000 --defaults-file=/home/mysql/mysql-5.6.14/my...
Oracle查看对象占用空间
<span style="font-family:Courier New;"><span style="font-size:16px;"><span style="color:#003399;">如何像MySQL一样,查看表和索引的占用空间呢?<br /><br /><br /><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0pt;" start="1" class="dp-css none_number"><li><span st...
RMAN 配置保留策略
<span style="font-family:Courier New;"><span style="font-size:16px;"><span style="color:#003399;">RMAN的几个主要配置<br /><br />configure device type disk parallelism 3 ;<br />配置通道数量<br /><br />CONFIGURE RETENTION POLICY TO REDUNDANCY 3;<br /><div><span style="line-height:1.5;">基于冗...
Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)
Oracle 数据库可以实现数据库不完全恢复与完全恢复。完全恢复是将数据库恢复到最新时刻,...
MySQL两种不完全恢复的方法
MySQL 5.6.14生产环境凌晨3点的备份,不完全恢复到中午12点.(xtrabackup_binlog_pos_innodb的内容是mysql-bin.0069463784607)第一种方式:mysqlbinlog1.找到需要恢复的binlog进入binlog目录,执行ll | awk '{print $9}' > /tmp/binlog.index然后修改/tmp/binlog.index文件,删除不需要恢复的文件名.2.解析binlog...
MySQL分区表
MySQL分区表1.Range分区最常用的一种分区方式比如按照日期进行分区CREATE TABLE award_gift_record ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `NickName` varchar(100) NOT NULL DEFAULT '', `AwardGiftID` int(11) NOT NULL DEFAULT '-1' COMMENT '礼物ID', `ActionTime` t...
使用RMAN进行数据迁移
使用RMAN进行数据迁移1.查看SCN,然后备份数据库run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;allocate channel c5 type disk;sql 'alter system archive log current';backup database tag 'db0' include current cont...
关于不完全恢复的一些思考
还是有感于ITPUB上次丢失一天数据的问题.记得当时是一片冷嘲热讽我也很奇怪,一个关于数据库的论坛,为什么没有进行不完全恢复.直到今天我在集中备份服务器上测试了一下恢复.我发现当时itpub的dba可能也有相当的苦衷.如果这种事情发生在我们公司,如何恢复还确实是需要权衡的一件事情.我先恢复了一个凌晨3点生产数据库...
MySQL表空间传输
MySQL(5.6.6及以上)也支持表空间传输了当然,innodb_file_per_table是一定要开启的表空间传输可以很方便的将一个表或者多个表,从一个数据库实例导入到另一个数据库实例.在数据恢复和数据迁移的时候,非常有用,尤其是数据量很大的表.相对于mysqldump,表空间传输的方式更快,更灵活.使用表空间传输有两种方式1.MySQL原生...
MySQL用随机数据填充表
先创建数字辅助表create table nums(id int not null primary key);delimiter $$create procedure pCreateNums(cnt int)begin declare s int default 1; truncat...
MySQL压缩表的一种应用
1.设置服务器参数innodb_file_per_table=ONinnodb_file_format=Barracuda2.创建表或者修改表参数alter table sod_song_log_2014_10_12 row_format=compressed key_block_size=8;业务系统都有很多日志数据,超过半年一年可以做离线处理,但是不能删除(老板说以后要做数据挖掘)这时候可以单独启动一个实例,作为集中日...
MySQL union的一种优化
今天遇到一个很奇怪的问题SELECT zav.ZpID ZpID, zav.Name Name, zav.PlayTimes PlayTimes, zav.UserID UserID, &...
基本闪回查询和闪回表
参考:http://blog.csdn.net/leshami/article/details/6112607基本闪回查询select * from t1 as of timestamp to_timestamp('2015-05-26 22:04:08','yyyy-mm-dd hh24:mi:ss');或者select * from t1 as of timestamp current_timestamp - interval '15' minute;查询误删除的数据select * from t1 as of timestamp...
MySQL innodb_table_stats表不存在的解决方法
MySQL 版本 5.6.14公司有几台MySQL服务器的错误日志显示,有几个系统表不存在.innodb_table_statsinnodb_index_statsslave_master_infoslave_relay_log_infoslave_worker_info这是因为数据库初始化的时候,dba可能删除过ibdata1文件虽然重启之后,数据库会自动创建一个ibdata1文件,但是上述系统表也是innodb引擎,所...
MySQL In不能用内连接改写
原来面试的时候,是作为面试题背的..什么MySQL In 使用Exists方式,很慢...面试官问怎么办..回答用内连接改写..然后面试官露出满意笑容..一直以来都是这个剧本..直到昨天我才发现..这个剧本原来是错的.实验数据create table song(songid int);insert into song values(1),(2),(3);create table song_category_...