随笔分类 - 16.数据库
摘要:一般而言,我们在processlist结果中如果经常能看到某些SQL的话,至少可以说明这些SQL的频率很高,通常需要对这些SQL进行进一步优化。 今天我们要说的是,在processlist中,看到哪些运行状态时要引起关注,主要有下面几个: 参见:http://imysql.com/2015/06/1
阅读全文
摘要:一、优化思路 数据查询慢,不代表 SQL 语句写法有问题。 首先,我们需要找到问题的源头才能“对症下药”。用一张流程图展示 MySQL 优化的思路: 从图中可以清楚地看出,导致数据查询慢的原因有多种,如:缓存失效,在此一段时间内由于高并发访问导致 MySQL 服务器崩溃;SQL 语句编写问题;MyS
阅读全文
摘要:MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最
阅读全文
摘要:一、基于条件的查询 二、整库删除 drop Connection 三、新建库 create Connection 四、创建索引 { "timestamp":1 (1升序;-1倒序) } 五、数据删除 Remove ALL Doucuments .sort({timestampField:-1})
阅读全文
摘要:一、查看回收站中表 二、恢复表 注:此方法必须要求Oracle版本必须为9i或10g以上版本,flashback无法恢复全文索引 参见:http://althars.iteye.com/blog/216164
阅读全文
摘要:在Oracle切换成MySQL时,会碰到如下注意事项: Oracle中的sysdate在MySQL中是不支持的; Oracle中的分布方案在MySQL中的实现; Oracle中的SQL语句是大小写不敏感的,而MySQL中的SQL语句默认是大小写敏感的; 注意Oracle字符与MySQL的兼容性问题;
阅读全文
摘要:今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新。岂知对这个类型的值还不甚了解,导致出错。发现这个字段只是在这行数据建立的时候有值,在更新的却无变化。 查找资料,发现是我建表的语句有问题: 以下是代码片段: 而实际上,以下两个建表语句的效果是一样的
阅读全文
摘要:MySQL性能优化及慢查询分析可以参见:https://my.oschina.net/wangyanpei/blog/492320
阅读全文
摘要:MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢
阅读全文
摘要:MySQL中查询当前的连接数: 查询最大连接数: 在mysql客户端下执行show processlist可以看到很多sleep的进程,这些进程就是人们常说的死连接,它们会一直保持sleep,直到my.cnf里面设置的wait_timeout这个参数值的时间到了,mysql才会自己杀死它。在杀死它的
阅读全文
摘要:1、大小写敏感的区别(如果服务器OS是linux)。 在oracle中一般情况下不区分大小写。有时候我们在使用oracle不注意大小写的问题,表名和字段名不加双引号是不区分大小写的,像这样:insert into tableName 和 insert into TABLENAME效果是一样的,用工具
阅读全文
摘要:一、查询指定schema下表的个数 二、查询指定schema下每个表中的记录数 三、登录MySQL 参见:http://blog.csdn.net/call_me_lzm/article/details/52244162 四、重启服务 五、表中数据复制 六、表备份 七、获取10分钟之前删除的数据 八
阅读全文
摘要:一、Amoeba简介 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强
阅读全文
摘要:Oracle误删数据的恢复,分为两种方法:SCN和时间戳两种方法恢复。 一、通过SCN恢复删除且已提交的数据 1、获得当前数据库的SCN号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的SCN号为:1499223 2、查询
阅读全文
摘要:在MySQL中经常会配置自增长属性的字段作为主键,特别是使用InnoDB存储引擎,因为InnoDB的聚集索引的特性,使用自增长属性的字段当主键性能更好,但是使用自增主键也可能会带来一些问题。 举个例子,使用自增主键对数据库做分库分表,可能出现一些诸如主键重复等的问题,或者在数据库导入的时候,可能会因
阅读全文
摘要:数据库架构最佳实践可参考:http://blog.csdn.net/zdy0_2004/article/details/50565117
阅读全文
摘要:Oracle查询可以有多种方法,下面为您介绍的是如何Oracle查询被锁的表及Oracle查询连接的进程的方法,希望对您能够有所帮助。 一、查看被锁的表 select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.o
阅读全文
摘要:1、用如下语句查找被锁住的表名、OSclient、Session信息 SELECT B.SID ,B.SERIAL# ,D.SPID OS系统进行号 ,C.OBJECT_NAME 被锁住的对像名 ,B.USERNAME 登录用户 ,B.SCHEMANAME 被锁对像模式 ,B.STATUS SESS
阅读全文
摘要:对于大型数据分库分表实践可以参考:http://dbaplus.cn/news-10-264-1.html http://leibinhui.iteye.com/blog/1949056 http://geek.csdn.net/news/detail/62793 http://dataunion.
阅读全文
摘要:Oracle恢复已删除的数据,主要有两种方法:SCN和时间戳。 一、通过SCN恢复删除且已提交的数据 1、获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的scn号为:1499223 2、查询当前sc
阅读全文