摘要:
三阶段提交协议 三阶段提交主要解决了二阶段提交的缺点。 (1)【事务管理器】及【数据库事务参与者】都增加了超时机制。在二阶段提交协议中,会出现无限期等待阻塞的情况。 (2)增加了一个新阶段。相当于把之前的准备阶段拆分成两... 阅读全文
摘要:
两阶段提交协议 为了解决分布式事务一致性,常见的方法之一就是2PC两阶段提交协议。 两阶段提交有两个角色,第一个角色是:【事务管理器】。第二个角色是:【数据库事务参与者】。 准备阶段(prep... 阅读全文
摘要:
一、开始时间,结束时间 (字符串转Date) 参数,字符串类型。 Oracle中使用时间进行比较,需要转成时间Date类型。 如果参数传递的是"字符串",需要使用 TO_DATE(字符串日期,FORMAT)格式化... 阅读全文
摘要:
分库分表带来的问题之 跨节点分页、排序、函数 需要在各个数据库中查询出来需要得数据,然后到内存中进行汇总、排序、分页。 比如某学生的四年的成绩数据分布在四个不同的数据库上,现需求是要求查出学生这四年考试成绩最好的10门课程。 ... 阅读全文
摘要:
一、不等于 用于Oracle中的不等于。与NULL运算不返回任何结果! SELECT JYHYFROM M_TESTORDER BY JYHY 使用来运算不为【1】与【2】的。 SELECT JYHYFRO... 阅读全文
摘要:
一、NVL函数 列为Number类型的时候,如果出现算术运算,那么结果也是空。比如下面的 800 + NULL 的结果是 NULL -- 工资sal , 奖金comm SELECT ename , sal , comm , sal+ co... 阅读全文
摘要:
一、ROWID 在Oracle数据库中,有一个表示行中唯一特性的标识符,该昂标识符的名称为ROWID。由于该列实际并不定义在表中,所以也被称之为伪列。 伪列ROWID的长度是18位,包含该行数据在Oracle数据库中的物理地址。... 阅读全文
摘要:
一、雪花算法 雪花算法由【符号位】 + 【时间戳】 + 【机器码】 + 【序列号】 符号位只占1位,表示正数。 时间戳占41位,毫秒级别。2^41次方,这个数字也是一个庞大的数字,保证不会重复。 ... 阅读全文
摘要:
目录 一、水平分表 二、水平分库 三、垂直分表 四、垂直分库 一、水平分表 把同一张表拆分为表1、表2、表3、......、表N。解决单表数据量过大问题。拆分前后,表的结构都相同。 拆分原则:一般单张表的数据量达到百万级别,... 阅读全文
摘要:
1、分库分表是什么 以电商系统中的例子来说明,下图是电商系统卖家模块的表结构: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉]FROM [商品信息] p LEFT JOI... 阅读全文