命令模式:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。 角色 ...
分类:
Web程序 时间:
2018-06-26 01:05:02
阅读次数:
152
重做日志也称联机重做日志。引入重做日志的目的是数据恢复。在数据库运行过程中,用户更改的数据会暂时存放在数据库的高速缓冲区中。为了提高写数据的速度,并不是一旦有数据变化,就把变化的数据写到数据文件中。频繁的读写磁盘文件会使数据库系统效率降低,所以要等到数据库高速缓冲区中的数据达到一定的量或者满足一定的条件时,DBWR进程才会将变化了的数据写到数据文件中。这种情况下如果在DBWR把变化了的更改写到数据
分类:
数据库 时间:
2018-06-25 17:52:11
阅读次数:
240
oracle数据库控制文件是非常重要的文件,它是数据库创建的时候自动生成的二进制文件,其中记录了数据库的状态信息,主要包括以下内容?数据库的名称,一个控制文件只能属于一个数据库?数据库创建时间?数据文件的名称、位置、联机、脱机状态信息?重做日志文件的名称、位置及归档信息?所有表空间信息?当前日志序列号?最近检查点信息控制文件在数据库启动的Mount阶段被读取,在数据库启动时首先使用默认规则找到并打
分类:
数据库 时间:
2018-06-22 13:23:02
阅读次数:
229
#努力第6天#innodb_lru_scan_depth每个缓冲池最大脏页刷新页数checkpointinnodb fuzzy checkpointmaster thread checkpoint从flush_list中进行刷新flush_lru_list check pointlru需有差不多10 ...
分类:
数据库 时间:
2018-06-19 11:51:26
阅读次数:
180
原贴地址:https://www.oschina.net/translate/showdown-mysql-8-vs-postgresql-10?lang=chs&page=2# 英文原版地址:http://rachbelaid.com/introduction-to-postgres-physic ...
分类:
数据库 时间:
2018-06-18 17:18:25
阅读次数:
332
mysql与Oracle的区别一、并发性并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。
分类:
数据库 时间:
2018-06-17 12:34:24
阅读次数:
148
一、事务日志 transaction log:事务型存储引擎自行管理和使用 在一个事务提交后还没有存到磁盘的情况下会记录到事务日志,这个时候如果系统断电,再次开机后会自动将已提交的事务重做(redo log)写入磁盘;如果事务还没有提交的情况下断电重启后会执行撤销操作(undo log) 相关变量 ...
分类:
系统相关 时间:
2018-06-15 21:42:33
阅读次数:
273
最近朋友去恒大面试,考官给出这样一个观点:同步情况下丢失数据有两种情况:一种是阻塞丢失,一种是同步失败。给出的处理办法:阻塞丢失的话干掉阻塞进程,或者重启实例都能解决;同步失败就只能重做节点。让我们一起来理解下,微软官方对于AlwaysOn同步提交模式的理解,当然直接看英文原文理解更精准:https://docs.microsoft.com/en-us/sql/database-engine/av
分类:
其他好文 时间:
2018-06-14 18:04:02
阅读次数:
318
随笔物化视图selectuser();selectnow();selectversion();ifnull数据库奔溃后内存没写到内存中,重启时重做1、视图视图:VIEW虚表,在调用时保存有实表的查询结果;在调用视图时进行后台调用查询语句进行查询;可以当作表来对待;创建方法:CREATEVIEWview_name[(column_list)]ASselect_statement[WITH[CASCA
分类:
数据库 时间:
2018-06-08 15:46:39
阅读次数:
176
```java PriorityQueue queue= new PriorityQueue(lists.length,new Comparator(){ @Override public int compare(ListNode o1,ListNode o2){ if (o1.val ...
分类:
其他好文 时间:
2018-06-04 14:34:36
阅读次数:
109