第二个灵魂 发表于 2015-1-16 22:29:14

MSSQL网页编程之数据库事件和锁(二)

也就是说在php本地调用pdoprepare中的mysql_real_escape_string来操作query,使用的是本地单字节字符集,即编码为xbfx5cx27,并带入到mysql中查询,由于使用setnames设置了连接字符集.数据|数据库
事件的事情道理图

事件确保数据的分歧性和可恢复性。事件的事情道理如所示。



事件的事情道理图

事件入手下手以后,事件一切的操纵都连续写到事件日记中。写到日记中的操纵,一样平常有两种:一种是针对数据的操纵,一种是针对义务的操纵。针对数据的操纵,比方拔出、删除和修正,这是典范的事件操纵,这些操纵的工具是大批的数据。有些操纵是针对义务的,比方创立索引,这些义务操纵在事件日记中纪录一个标记,用于暗示实行了这类操纵。当作废这类事件时,体系主动实行这类操纵的反操纵,包管体系的分歧性。体系主动天生一个反省点机制,这个反省点周期地产生。反省点的周期是体系依据用户界说的工夫距离和体系举动的频度由体系主动盘算出来的工夫距离。反省点周期地反省事件日记,假如在事件日记中,事件全体完成,那末反省点将事件日记中的事件提交到数据库中,而且在事件日记中做一个反省点提交标志。假如在事件日记中,事件没有完成,那末反省点将事件日记中的事件不提交到数据库中,而且在事件日记中做一个反省点未提交标志。事件的恢复和反省点回护体系的完全和可恢复,可使用如所示的示例申明。



事件恢复和反省点示例

在这个示例图中,有五个事件:事件1、事件2、事件3、事件4和事件5。方框暗示事件的入手下手和完成提交。程度偏向暗示工夫。反省点暗示在某一工夫点产生反省点机制,体系失利暗示在某一工夫点因为断电、体系软件失利等缘故原由而产生的体系失利。事件1的完成产生在反省点产生之间,以是事件1被提交到数据库中。事件2和事件4的完成产生在体系失利之前,以是这两个事件能够被体系向前转动提交到数据库中。事件3和事件5因为体系失利而没有完成,以是这两个事件被作废。
在ORDERBY操作中,MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快ORDERBY方面也没什么作用)。

金色的骷髅 发表于 2015-1-18 10:13:13

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

变相怪杰 发表于 2015-1-21 19:41:01

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

冷月葬花魂 发表于 2015-1-30 22:04:33

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

简单生活 发表于 2015-2-6 16:14:56

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

精灵巫婆 发表于 2015-2-17 04:38:24

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

飘飘悠悠 发表于 2015-3-5 15:53:48

微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。

飘灵儿 发表于 2015-3-12 10:20:22

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

透明 发表于 2015-3-19 20:13:10

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
页: [1]
查看完整版本: MSSQL网页编程之数据库事件和锁(二)