
数据库
MySQL、Oracle、MangDB
IT小白龙
越努力,越幸运
展开
-
Oracle:In和Exist的用法对比
In和Exist的用法对比原创 2022-10-11 17:08:38 · 456 阅读 · 0 评论 -
Oracle:CLOB大数据字段类型的使用
我们在Oracle数据库存储的字符数据一般是用 VARCHAR2,最大长度4000,通常情况下能满足存储需求,但是碰到记录日志或者拼接的id集合可能就不够,Oracle提供了大数据类型LOB,最多能容纳4GB,分为BLOB和CLOB两种:BLOB即二进制大型对象,适用于存贮非文本的字节流数据,CLOB则用来存储文本型的数据。相当于Mysql 的 Text,只是没有区分那么细。如下新建一张日志表:可以看到数据库里CLOB也是不直接显示的,需要点开编辑。Oracle在插入时会做隐式转换,默认把字符串原创 2021-09-09 14:52:36 · 4213 阅读 · 0 评论 -
Oracle:获取连续日期和level的使用
接到一个需求,新建广告,可以设置日期范围,且同一天投放的广告总数不能超过资源数。比如设定资源数为2,已经有0826-0831和0831-0906的广告,就不能再新建了,难点在于需要统计排期在这个范围内的广告数量。表结构如下:首先,调用系统函数获取日期:select to_char(sysdate, 'yyyy-mm-dd') from dual;然后,在对表执行层次树遍历的select语句中使用level:select to_date(?, 'yyyy-mm-dd') + level -原创 2021-08-31 15:27:47 · 864 阅读 · 0 评论 -
Oracle:批量删除优化
接到一个需求:网才Hi聊后台处理任务定时刷新Hi聊数量取消tuxedo服务器的后台任务/home/tuxapp/bin/initchat.sh在internal64位后台服务器设置定时后台任务,每天0点5分执行/www/bgshell/userchat/initchat.sh程序执行流程:(1) 从网才1库到网才4库顺序执行(2) 查询s_chat里id的最小值minid和最大值maxid(3) 按照id范围从minid到minid+ 100000(REFRESH_ID_LIMIT配置),原创 2021-08-27 19:21:52 · 861 阅读 · 0 评论 -
Oracle:like 模糊匹配的漏洞
Oracle like运算符通常在数据量不高的情况下,用于where表达式中,搜索匹配字段中的指定内容,一般和 % 或 _ 结合使用。如下查询user表中name字段含有 小白龙 的数据:SELECT * FROM user WHERE name LIKE '%小白龙%';但是使用like查询%时,因为%为通配符会被忽略,以致查询所有数据。解决方法:使用instr查询替换like查询。在数据量大的情况下,查询速度也更快。SELECT * FROM user WHERE instr(name,原创 2021-08-26 16:04:22 · 565 阅读 · 0 评论