数据库

Mysql中的CHECK约束特性详解

功能说明 在MySQL 8.0.16以前, CREATE TABLE允许从语法层面输入下列CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0.16,CREATE TABLE添加了针对所有存储引擎的表和列的CHECK约束的核心...

mysql日志系统redo log和bin log介绍

首先,我们先来看看一次查询/更新语句流程图 本文会将重点放在执行器<->存储引擎之间的交互。 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘io成本,同时提高操...

MySQL中的存储过程异常处理

1. condition 2.handler 3.diagnostics area 在使用MySQL存储过程时,其中的代码可能会出现运行错误从而导致异常,此时需要将存储过程中产生的异常捕获并打印出来 需要知道的概念: condition hanlder d...

使用Redis实现延时任务的解决方案

最近在生产环境刚好遇到了延时任务的场景,调研了一下目前主流的方案,分析了一下优劣并且敲定了最终的方案。这篇文章记录了调研的过程,以及初步方案的实现。 候选方案对比 下面是想到的几种实现延时任务的方案,总结了一下相应的优势和劣势。 方案 优势 劣势 选用场景...

Oracle 10g client 安装图解教程

1. 将Oracle 10g client安装包copy到本地才能安装: 2. 双击setup 的到: 3. 稍后进入安装界面: 4. 选择下一步:安装管理员,然后下一步: 5. 设置路径后一路下一步: TCP-> 一路下一步 到此就完成了

postgresql中时间转换和加减操作

昨天遇到一个floor向下取整的问题,现在将它记录下来。 首先floor是需要一个int或者dp。那么我们日期加减转换,timestamp 转data,是需要先将其转成char,再由char转date,再相减,得出一个符合floor函数要求的值。 代码如下...

MySQL优化案例之隐式字符编码转换

索性失效前提 MySQL中我们知道有: 1、如果对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。 2、隐式类型转换也会导致同样的放弃走树搜索。 因为类型转换等价于在条件字段上使用了函数比如: /*假设tradeid字段有索...

MySQL数据库的触发器和事务

一、触发器 概念 触发器是SQL server提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,是由事件来触发。触发器经常用来加强数据的完整性约束和业务规则。 二、 触发器的操作 创建account和account_lo...

Redis集群方案

前段时间搞了搞Redis集群,想用做推荐系统的线上存储,说来挺有趣,这边基础架构不太完善,因此需要我们做推荐系统的自己来搭这个存储环境,就自己折腾了折腾。公司所给机器的单机性能其实挺给力,已经可以满足目前的业务需求,想做redis集群主要有以下几点考虑: ...

oracle常见故障类别及规划解析

前言: 上一篇文章中我们了解了oracle分区索引的失效和重建代码示例的相关内容,接下来我们要看的内容是: 对任何数据库系统而言,对显而易见的故障,应当避免发生本文列出了Oracle常见的故障并给出了解决方案,同时列出了一些日常规划。 一、数据库高可用性的...

浅谈我是如何用redis做实时订阅推送的

前阵子开发了公司领劵中心的项目,这个项目是以redis作为关键技术落地的。 先说一下领劵中心的项目吧,这个项目就类似京东app的领劵中心,当然图是截取京东的,公司的就不截了。。。 其中有一个功能叫做领劵的订阅推送。什么是领劵的订阅推送?就是用户订阅了该劵的...