触发器

数据库:存储引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等

余生长醉 提交于 2020-01-06 20:11:10
存储引擎 概念 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。 存储引擎主要有: 1. MyIsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated 。 InnoDB(B+树) InnoDB 底层存储结构为B+树, B树的每个节点对应innodb的一个page,page大小是固定的,一般设为 16k。其中非叶子节点只有键值,叶子节点包含完成数据。 数据库:存储引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等 适用场景 : 1)经常更新的表,适合处理多重并发的更新请求。 2)支持事务。 3)可以从灾难中恢复(通过 bin-log 日志等)。 4)外键约束。只有他支持外键。 5)支持自动增加列属性 auto_increment。 TokuDB(Fractal Tree-节点带数据) TokuDB 底层存储结构为 Fractal Tree,Fractal Tree 的结构与 B+树有些类似, 在 Fractal Tree中,每一个 child 指针除了需要指向一个 child 节点外

Oracle--DML触发器

不羁岁月 提交于 2020-01-06 14:36:50
语句级触发器 创建语句级触发器,当添加学生时弹出“用户注册窗口”。 create or replace trigger tr_student before insert on student begin dbms_output . put_line ( '欢迎新同学!' ) ; end ; 执行: 利用触发器实现日志管理功能。该触发器用来实现当在Student表中删除一条数据时,在stu_log表中添加一条包含当前操作用户(USER)和当前操作日期(SYSDATE)的记录 创建日志表: create table stu_log ( WHO varchar2 ( 20 ) , WHEN DATE ) ; 创建触发器: create or replace trigger tr_stu_log after delete on student begin insert into stu_log values ( USER , SYSDATE ) ; end ; 测试: 行级触发器 如果在某个表上创建了一个触发器,在对这个表进行DML操作时,每当影响一行数据,该触发器都将被激发执行一次,那么这个触发器就是行级触发器。 在行级触发器中有一个很重要的特点,当创建BEFORE行级触发器时,可以在触发器中引用受到影响的行值,甚至可以用在触发器中设置它们。 创建一个简单的行级触发器

zabbix监控CPU、内存、磁盘、流量超值则报警

孤街醉人 提交于 2020-01-05 22:05:59
手动添加监控项,通过?system.cpu.util[,,]?来进行配置 添加监控项? 其他告警不在截图 内存告警:使用百分比来显示 , 注:重新添加触发器更换对应IP 类型:可计算的 健值:vm.memory.free[percent] 100*last("vm.memory.size[available]")/last("vm.memory.size[total]") 信息类型:浮点数 单位:% 应用集:memory 触发器: {103.68.173.202:vm.memory.free[percent].last()}<20 流量告警: 入站超过10M告警 {103.68.173.202:net.if.in[enp3s0].avg(5m)}>=10M 磁盘告警: 少于50G告警 {45.126.183.13:vfs.fs.size[/home,free].last(0)}<=50G 来源: 51CTO 作者: 李佳良 链接: https://blog.51cto.com/13555423/2464494

Node.js 事件触发器详细总结

大憨熊 提交于 2020-01-05 02:00:56
Api目录   1、简单的注册、触发事件的流程   2、eventEmitter.defaultMaxListeners   3、emitter.setMaxListeners(n)   4、emitter.getMaxListeners(n)   5、emitter.prependListener(eventName, listener);   6、emitter.prependOnceListener(eventName, listener)   7、emitter.removeListener(eventName, listener)   8、emitter.removeAllListeners(eventName)   9、emitter.off(eventName, listener)   10、emitter.eventNames()   11、emitter.on('eventName', listener)   12、emitter.once('eventName', listener)   13、emitter.emit('eventName', params) 一、什么是事件模块(events) 1、大多数Node.js核心Api都是采用惯用的异步事件驱动架构 2、所有能触发事件的对象都是EventEmitter类的实例 3、事件流程:引入模块 ->

Oracle触发器学习记录

末鹿安然 提交于 2020-01-05 00:28:37
1、这是oracle的规定,不能对执行触发器的表进行操作。 可以对new.xxx进行操作啊,对于oracle行级触发器(for each row),不能对本表做任何操作,包括读取 原则: 在before insert触发器中,可以实现对本表的访问; 在after insert触发器中,不能实现对本表的访问; 在before/after update/delete触发器中,都不能实现对本表的访问 其实原因很简单,就是为了防止脏读 2、写oracle行级触发器时,不能操作本表,报表 *** 发生了变化,触发器/函数不能读"的错误的解决办法 原因已经很明显了就是行级的触发器代码中不能操作该表,包括select,是挺郁闷的 当然解决方法就是要根据原因了,正因为限定了行级触发器的操作,只能选择表级的触发器了,但是在表级的触发器又不能获得:new和:old的值,那就只能采取两种触发器并用的方法了,并且还要包或者临时表加以辅助. 首先在行级触发器中将所需的,:new或者:old的值,写到包或者临时表中 然后在表级触发器中处理包或者临时表中已经写入的数据,操作成功后可以按照需求再删除临时表的数据. 3、 ORACLE 触发器 ORACLE产生数据库触发器的语法为: create [or replace] trigger 触发器名 触发时间 触发事件 on 表名 [for each row] pl

移位寄存器的原理

不想你离开。 提交于 2020-01-04 00:40:46
移位寄存器的原理 移位寄存器不仅能寄存数据,而且在时钟信号的最用下使它其中的数据依次左移或者右移。 四位移位寄存器的原理:F0、F1、F2、F3是四个边沿触发的触发器D,每一个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟的信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟的时间,所以当时钟信号同时加到四个触发器上的时候,每个触发器接受的都是左边一个触发器中原来的而数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。 移位寄存器按照不同的分类方法可以分为不同的类型。 如果按照移位寄存器的移位方向来进行分类, 可以分为左移移位寄存器、移位寄存器和双向移位寄存器等;如果按照工作方式来分类,可以分为串入/串出移位寄存器、串入/并出移位寄存器和并入/串出移位寄存器等。 移位寄存器能将所储存的数据逐位向左或向右移动,以达到计算机运行过程中所需的功能,请看图: 启动时,先在清零端加清零脉冲,使触发器输出置0。然后,第一个数据D0加到触发器1的串行输入端,在第一个CLK脉冲的上升沿Q0=Q0,Q1=Q2。Q3=Q0。其后,第二个数据D1加到串行输入端,在第二个CLK脉冲到达时,Q0=Q1,Q1=Q0,Q2=Q3=0。以此类推,当第四个CLK来到之后,各输出端分别是Q0=Q3,Q1=Q2,Q2=Q1,Q3=Q0。输出数据可用串行的形式取出,也可用并行开式取出。

MySQL基础篇(03):系统和自定义函数总结,触发器使用详解

。_饼干妹妹 提交于 2020-01-04 00:39:05
本文源码: GitHub·点这里 || GitEE·点这里 一、系统封装函数 MySQL 有很多内置的函数,可以快速解决开发中的一些业务需求,大概包括流程控制函数,数值型函数、字符串型函数、日期时间函数、聚合函数等。以下列出了这些分类中常用的函数。 1、控制流程函数 case...when 根据值判断返回值,类比编程中的IF-ELSE判断。 -- DEMO 01 SELECT CASE DATE_FORMAT(NOW(),'%Y-%m-%d') WHEN '2019-12-29' THEN 'today' WHEN '2019-12-28' THEN 'yesterday' WHEN '2019-12-30' THEN 'tommor' ELSE 'Unknow' END; -- DEMO 02 SELECT (CASE WHEN 1>0 THEN 'true' ELSE 'false' END) AS result; if(expr1,expr2,expr3) 如果表达式 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。 SELECT IF(1>2,'1>2','1<2') AS result ; SELECT IF(1<2,'yes ','no') AS result ; SELECT IF(STRCMP('test','test'),

Quartz入门

社会主义新天地 提交于 2020-01-03 23:07:29
文章目录 1、Quartz简介及应用场景 Quartz介绍 2、Quartz简单触发器 SimpleTrigger介绍 图解quartz工作流程 准备 案例 语法 3、Quartz表达式触发器CronTirgger介绍 4、Quartz中参数传递 5、Spring task **Vs** Quartz Spring task Quarz 1、Quartz简介及应用场景 Quartz介绍 任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统, “任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。 简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后自动撤消订单,并自动解锁锁定的商品 2、Quartz简单触发器 SimpleTrigger介绍 触发器用来告诉调度程序作业什么时候触发。框架提供了5种触发器类型,但两个最常用的SimpleTrigger和CronTrigger。 五种类型的Trigger(定时器) SimpleTrigger,CronTirgger,DateIntervalTrigger,NthIncludedDayTrigger和Calendar类( org.quartz

SQL Server查询优化与事务处理

早过忘川 提交于 2020-01-03 08:05:28
博文目录 一、索引 二、视图 三、存储过程 四、系统存储过程 五、触发器 六、事务 七、锁 一、索引 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的次序排列这些指针,再跟随指针到达包含该值的列。 1、什么是索引 数据库中的索引与书籍中的目录相似。在一本书中,无需阅读整本书,利用目录就可以快速的查找到所需的信息。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需的数据。书中的目录就是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或若干列值的集合,以及物理表示这些值得数据业的逻辑指针清单。 索引是SQL Server编排数据的内部方法,它为SQL Server提供一种方法来编排查询数据的路由。 索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页以及该数据行的地址指针。通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。 2、索引分类 1)唯一索引 唯一索引不允许两行具有相同的索引值。 如果现有数据中存在重复的键值,则一般情况下大多数数据库不允许创建唯一索引。当新数据使表中的键值重复时,数据库也拒绝接收此数据。创建了唯一约束,将自动创建唯一索引。尽管唯一索引有助于找到信息,但是为了获得最佳性能,建议使用主键约束。 2)主键索引 在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。

锁存器(Latch)和触发器(Flip-flop)——《电子技术基础(数字部分)》读书笔记(三)

那年仲夏 提交于 2020-01-03 02:41:40
  大多数数字系统中,除了需要具有逻辑运算和算术运算功能的组合逻辑电路外,还需要具有储存功能的电路,组合逻辑电路和储存电路相结合可构成时序逻辑电路,Lacth & Flip-flop就是实现储存功能的两种逻辑单元电路。   锁存器是对 电平敏感 的电路,它们在一定电平作用下改变状态。基本SR锁存器由输入信号电平直接控制其状态,传输门控或逻辑门控锁存器在 使能电平 作用下由输入信号决定其状态。在使能信号作用期间,门控锁存器输出跟随输入信号变化而变化。   触发器则是对时钟脉冲 边沿敏感 的电路,根据不同的 电路结构 ,它们在时钟脉冲的上升沿或下降沿作用下改变状态。目前流行的触发器电路主要有 主从 、 维持阻塞 和 利用传输延迟 等几种结构,它们的工作原理个不相同。   触发器按逻辑 功能 分类有 D触发器 、 JK触发器 、 T触发器 和 SR触发器 。它们的功能可用 特性表 、 特性方程 和 状态图 来描述。触发器的电路结构与逻辑功能没有必然联系。例如JK触发器既有主从结构也有维持阻塞或利用传输延迟结构。每一种逻辑功能的触发器都可以通过增加门电路和适当的外部连线转换为其它功能的触发器。       之所以能够有记忆功能能够存储信息,最主要的就是它把输出有反馈到了输入,形成了反馈这样它就能保持稳定。 这使得Lacth & Flip-flop与组合逻辑电路的分析有了很大的不同,