Oracle
DMY小天天
写博客,除了提升自己方便他人外,更多的是为了在将来有一天能回味一下当时奋斗的心情。
展开
-
所有表的所有字段的合集,可以用于查询线上线下数据库用户间的差别
--用户下,所有表的所有字段的合集,可以用于查询线上线下数据库用户间的差别select 'select ' ||listagg(lower(t.column_name), ',') WITHIN GROUP(ORDER BY t.column_name) ||' from ' ||t.table_name ||';--' ||s.commentsfrom user_tab_columns tleft join USER_TA...原创 2021-09-07 13:24:09 · 359 阅读 · 0 评论 -
code5:oracle-求一个专业表中每个专业分数最高的人,如果分数相同,把姓名合并输出
求一个专业表中每个专业分数最高的人,如果分数相同,把姓名合并输出。表的结构如下:需要实现的效果如下:--创建sql的脚本:create table DM_XSZYB_TEST( xm VARCHAR2(200), zy VARCHAR2(200), fs NUMBER)tablespaceUSERS pctfree 10 initrans 1...原创 2020-03-10 21:50:31 · 596 阅读 · 0 评论 -
存储过程实现同步数据功能,从前端到数据库
页面放几个按钮:点击上面的每个按钮,都会在数据库里执行存储过程进行同步数据。具体的实现方法及步骤如下:然后,对应html 的书写是:<div class="address">当前位置:申报设置 >> 信息同步</div><div class="clr"></div><div class="butsea"...原创 2019-06-03 19:18:17 · 2048 阅读 · 0 评论 -
oracle获取年月日,两个日期相减
需求:查询剩余多少天?先看一下我的实际案例:select ceil(t.mbdcsj - sysdate) as RemainingDays from t_zg_mb_mbglb t;测试案例:获取两时间的相差小时数:select ceil((to_date('2019-05-02 00:00:00', 'yyyy-mm-dd hh24-mi-ss') - ...原创 2019-05-23 09:25:48 · 15757 阅读 · 0 评论 -
sql在存储的时候,一个字段中存储最多10次的登录时间信息
记录登录系统的时间,最多记录10次,后来添加的时间会覆盖之前的时间,永远只看到最后的10次登录时间。设计如下:关键字段:zhxgsj VARCHAR2(500);数据库表的建设sql:-- Create tablecreate table tableA( yhdm VARCHAR2(50) not null, tokenval VARCHAR2(250), zh...原创 2019-05-08 12:23:45 · 492 阅读 · 0 评论 -
oracle计算时间差,某年某月某日某时某分,如剩余3天04小时36分
目前我有一个需求,就是需要显示两个时间段的差值,关键是要显示剩余几天几小时几分,格式如下图:本来看着挺简单,但是当我操作的时候,发现并不简单,百度了一下,觉得方法都很麻烦,于是去百度下时间之类的函数,找到了 to_timestamp和extract,这两个函数个人认为是在oracle中计算两个时间差值(年月日)显示的好办法,方法如下:select ex...原创 2019-05-05 15:58:48 · 1707 阅读 · 0 评论 -
sql中简简单单明明白白得使用 with temp as (select x from table1)
今天在看博客得时候,发现了一个我不曾使用过得sql语法,感到很奇怪,就多看了几下。发现还是很有用处得。于是从地铁里出来后收起手机,直奔公司,打开电脑,使用了一下。我去,上来就报错。with temp_xs as (select xydm from xj_xsxxb where xh like'%001510%'), temp_js as (select xydm from ...原创 2019-04-18 15:30:48 · 6608 阅读 · 0 评论 -
数据库拆分的理解和案例(详细版)
数据库拆分的理解和案例1 数据库拆分过程及挑战1.1 垂直拆分1.2 读写分离1.3 分库分表挑战1:基本的数据库增删改功能挑战2:分布式id挑战3:分布式事务挑战4:动态扩容2 主流数据库中间件设计方案2.1 设计方案2.1.1 proxy模式2.1.2 smart-client模式3 读写分离核心要点3.1 基本路由功能3.1.1 sql类型判断3.1.2 强制走主库3.2 从库路由策略4 分...转载 2019-04-23 11:06:23 · 7672 阅读 · 0 评论 -
数据库拆分过程及挑战(简版)
数据库拆分的几种方式1 垂直拆分2 读写分离3 分库分表挑战1:基本的数据库增删改功能挑战2:分布式id挑战3:分布式事务挑战4:动态扩容4、总结转载地址:http://www.tianshouzhi.com/api/tutorials/dragon/3621.1 数据库拆分过程及挑战互联网当下的数据库拆分过程基本遵循的顺序是:垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业...转载 2019-04-23 10:32:21 · 422 阅读 · 0 评论 -
oracle的rownum函数无序,取前几条的话,每次结果不固定,很坑
笔者有个学年学期表,里面有个字段是当前学年学期,我要查询的结果是从当前学年学期(不包含当前学年学期)往前取6个学期的数据。所有的数据是这样的:select xqb.* from dm_xnxqb@jcps_jw xqb where kyf='1' order by xn||xq desc结果:然后我要取,途中选中的数据往下取6条数据。我是这么写的:select xqb.* from ...原创 2019-04-22 16:21:11 · 1962 阅读 · 0 评论 -
sql的子查询超级慢-子查询酿的祸
今天碰到一个问题,就是子查询导致查询效率特别低,到了31秒了。特此先记录一下,后期修改。前提条件:sz_jsxxb这个表是教师表,大约有5万多条数据select sys_guid(), (select count(zgh)as nanrs from (select zgh,xydm from sz_jsxxb where xb='1') s where t.yxdm=s.xydm) ...原创 2019-04-17 10:45:10 · 7917 阅读 · 7 评论 -
一次真实的线上OOM问题定位
一次真实的线上OOM问题定位尊重原创:王政依码平川 原文链接概述近日,负责的一系统生产环境上出现了OutOfMemoryError,伴随着这个问题随之而来的是一堆FullGC,CPU百分之百,频繁宕机重启等问题,严重影响业务的推广及使用,此类问题一般处理起来比较棘手,本文将此问题的出现及定位解决过程做下梳理,以便对后续处理类似问题提供参考指导。...转载 2019-04-14 07:39:16 · 861 阅读 · 0 评论 -
水平分库如何做到平滑扩展
水平分库如何做到平滑扩展上一篇关于DynamoDB的介绍中,有一个特别亮点,就是它无需停机就可以动态扩容。这个对于我们常用的分库分表方案来说,有很大的优势,分库分表的扩容是一件头疼的问题,如果采用对db层做一致性hash,或是中间价的支持,它的成本过于高昂了,如果不如此,只能停机维护来处理,对高可用性会产生影响。那是否有方案,既可以快速扩展,又不降低可用性?这一篇,我们聊聊分库分表...转载 2019-04-14 07:26:09 · 299 阅读 · 0 评论 -
只需要返回一条数据,并且必须返回一条数据的时候的写法
当你查询一张表不确定通过条件查询后,只需要返回一条数据的时候,但是你不确定是不是会直接返回的空数据的时候,可以使用这么个思路:思路是:使用条件查询你该查询的数据;然后 union all 同样的字段个数,返回默认的值,如,都返回“0”;因为这样操作会导致本来会查出一条结果的数据的sql,现在变成了会返回一条或者两条数据了,所以,你需要取其中的一条,这里就可以使用手段了;让两条sql的查...原创 2019-04-10 14:22:01 · 1247 阅读 · 0 评论