
数据库的自白
文章平均质量分 71
关于数据库的点点滴滴,主要是oracle和MySQL等
御前提笔小书童
喜时不诺,怒时不争,哀时不语,倦时有终;
静以修身,俭以养德;
----------------------御前提笔小书童
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
gbase字段长度
项目场景:国产Gbase数据库使用中发现一些和常用的数据库的区别,尤其是最近做ETL同步经常发现数据同步失败原因分析:这类问题,常见的异常是字段超过长度,但是建表语句中两个源的表设置字段长度是一样的。其实原因是因为gbase的长度和MySQL等数据库长度不一致造成的解决方案:目前简单的解决办法是:gbase的长度设置相比mysql的需要调整成3倍,超过255长度的 类型改成lvarchar关注Github:1/2极客关注博客:御前提笔小书童关注网站:开发者的花花世界关注公众号:开原创 2021-03-30 18:15:20 · 2050 阅读 · 0 评论 -
MyBatis Plus之like模糊查询中包含有特殊字符(_、\、%)
解决思路:自定义一个拦截器,当有模糊查询时,模糊查询的关键字中包含有上述特殊字符时,在该特殊字符前添加\进行转义处理。问题提出使用MyBatis中的模糊查询时,当查询关键字中包括有_、\、%时,查询关键字失效。问题分析当like中包含_时,查询仍为全部,即 like '%_%'查询出来的结果与like '%%'一致,并不能查询出实际字段中包含有_特殊字符的结果条目like中包括%时...转载 2019-11-30 21:51:03 · 10118 阅读 · 3 评论 -
Centos7安装配置mysql5.6(超详细教程)
一、安装MySQL1、下载安装包mysql-5.6.34-linux-glibc2.5-x86_64.tar(可前往官网自行下载:http://dev.mysql.com/downloads/mysql/)3、删除etc目录下的my.cnf [root@localhost ~]# rm /etc/my.cnf 4、执行以下命令来创建mysql用户组 [roo...原创 2018-12-17 21:39:44 · 331 阅读 · 0 评论 -
Oracle记录锁住解决办法
Oracle中查询锁表的SQL:select sess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefrom v$locked_object lo, dba_objects ao, v$session sesswhere ao.object_id = lo.objec...原创 2018-05-30 23:48:44 · 3014 阅读 · 0 评论 -
SQL优化小结
1、你必须选择记录条数最少的表作为基础表. (from 是从前往后检索的,所以要最少记录的表放在最前面)2、采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些 可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾、同时在链接的表中能过滤的就应该先进行过滤、 (where是从后往前检索,所以能过滤最多数据的条件应放到最后、)3、SEL原创 2018-01-02 16:21:17 · 738 阅读 · 0 评论 -
《伸手系列》第二集-oracle数据库“灾难性”数据恢复-(一)
文章开始之前,先把重要的事情说三遍,不要随便用‘truncate’、不要随便用‘truncate’、不要随便用‘truncate’!!!可能你觉得它比delete速度快的多,但是你是否真的确定你的数据没删错吗?好吧,你百分百确定是不要的数据,那么你确定你在执行truncate操作的时候,连的是你的测试库吗?昨天晚上的例子,同事加班加累了在测试库测试的时候,没注意在执行truncate表的时原创 2017-10-11 11:48:50 · 3533 阅读 · 5 评论 -
Redis超级新手指南-下篇(哪吒篇)
可用高性能分布式缓存解决方案(Rdeis)1.简述 本文将从以下几个方面详细讲解redis,看过上篇(福禄篇)的可以直接跳过简介,这里只是保证文章的可读性.(在word上写完才拷贝过来的(几天才写完),所以可能看起来不太舒服)v redis简介v sentinel 功能v twemproxy特性v twemproxy + redis + sentinel 实现re原创 2017-08-30 10:03:52 · 3609 阅读 · 3 评论 -
Redis超级新手指南-上篇(福禄篇)
Redis简介Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符原创 2017-08-29 15:20:59 · 4707 阅读 · 4 评论 -
史上最详细最全的Linux上安装Oracle的教程-centos7-humf
一、安装Oracle前准备1.创建运行oracle数据库的系统用户和用户组[humf@localhost ~]$ su root #切换到rootPassword: [root@localhost sonny]# groupadd oinstall #创建用户组oinstall[root@localhost sonny]# groupadd dba #创建用户组dba原创 2017-07-27 12:53:59 · 74648 阅读 · 20 评论 -
Oracle存储过程和存储函数
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 创建存储过程语法:create [or replace] PROCEDURE 过程名[(参数名 i原创 2017-05-17 15:11:12 · 694 阅读 · 0 评论 -
Oracle触发器
数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。 1.触发器作用l 数据确认 l 实施复杂的安全性检查l 做审计,跟踪表上所做的数据操作等 l 数据的备份和同步 2.触发器的类型 语句级触发器 :在指定的操作语句操原创 2017-05-17 15:14:31 · 933 阅读 · 0 评论 -
Oracle自动增长序列
在很多数据库中都存在一个自动增长的列,如果现在要想在oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。语法:CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{C原创 2017-05-16 10:23:24 · 1103 阅读 · 0 评论 -
oracle优化小结
设计处理尽量考虑使用索引作分区表尽量少用约束等编码时处理 尽量不要全表扫描 1)查询条件中尽量不要使用不等于操作符(!=),不等于操作符会限制索引,引起全表扫描,尽量把不等于操作符改成or(or语句使用不当会引起全表扫描,例如where子句中比较的两个条件,一个有索引,一个没索引,使用or则会引起全表扫描)2)在子查询中慎重使用IN或者NOT IN语句,使用w原创 2017-03-08 13:32:55 · 566 阅读 · 0 评论 -
Oracle+SQL优化第一弹(前人种树,后人乘凉,翻译加上部分自己的内容,希望能给大家带来帮助)
PS:前人种树,后人乘凉,翻译内容加上部分自己的内容,希望能给大家带来帮助就行,第一弹:SQL 语句编写注意问题 下面就某些 SQL 语句的 where 子句编写中需要注意的问题作详细介绍。在这些 where 子句 中,即使某些列存在索引,但是由于编写了劣质的 SQL,系统在运行该 SQL 语句时也不能使用 该索引,而同样使用全表扫描,这就造成了响应速度的极翻译 2017-03-21 11:45:53 · 693 阅读 · 0 评论 -
Oracle+SQL优化第二弹
SQL 语句性能优化(未完待续)要使 Oracle SQL 语句具有最优的性能,需要从多方面进行优化,下面分别进行说明。1 选用合适的 ORACLE 优化器ORACLE 的优化器共有 3 种:a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)设置缺省的优化器,可以通过对 init.ora 文件中 OPTIMIZER_MODE翻译 2017-03-21 15:04:38 · 601 阅读 · 0 评论 -
Oracle+SQL优化第三弹
接上篇博客Oracle+SQL优化第二弹点击打开链接SQL 语句性能优化(未完待续)...... 11 用 TRUNCATE 替代 DELETE当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息.如果你没有 COMMIT 事务,ORACLE 会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况).翻译 2017-03-22 14:15:16 · 528 阅读 · 0 评论 -
Oracle+SQL优化第四弹
...接上一篇 21 用 EXISTS 替换 DISTINCT当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在 SELECT 子句中使用DISTINCT. 一般可以考虑用 EXIST 替换例如:低效:SELECT DISTINCT DEPT_NO,DEPT_NAMEFROM DEPT D,EMP EWHERE D.DEPT_NO = E.DEPT_N翻译 2017-03-23 15:14:36 · 1319 阅读 · 0 评论 -
Oracle+SQL优化第五弹(暂时告一段落)
接上一篇; 41 用 UNION-ALL 替换 UNION ( 如果有可能的话)当 SQL 语句需要 UNION 两个查询结果集合时,这两个结果集合会以 UNION-ALL 的方式被合并, 然后在输出最终结果前进行排序.如果用 UNION ALL 替代 UNION, 这样排序就不是必要了. 效率就会因此得到提高.举例:低效:SELECT ACCT_NUM, BALANC翻译 2017-03-28 17:00:11 · 607 阅读 · 0 评论 -
不同Oracle数据库之间的数据同步
方法一:通过快照来实现1 创建dblink 2 创建快照Oracle快照原理及实现总结Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或原创 2017-04-19 15:09:02 · 22063 阅读 · 2 评论 -
利用DBLink+JOB实现两个Oracle数据库之间的数据同步
针对上一篇文章的部分内容这里通过DBLink+JOB实现两个Oracle数据库之间的数据同步,我自己测试了两个数据库之间的一个表同步没有问题,下面写个详细例子供大家参考;网络爬虫太多,加个地址:http://blog.youkuaiyun.com/qq_22260641第一步:建立DBLink 两个数据库,源数据库test中的表数据同步到目标数据库scott的同一个表(表不相同也可以,不影响的),在原创 2017-04-21 12:35:00 · 14856 阅读 · 3 评论