SSL证书:浅谈时间戳的理解

浅谈时间戳的理解

2018-09-14
[摘要]一直对时间戳这个概念比较模糊,相信有很多朋友也都会误认为:时间戳是一个时间字段,每次增加数据时,填入当前的时间值。其实这误导了很多朋友。 1.基本概念 时间戳:数据库中

一直对时间戳这个概念比较模糊,相信有很多朋友也都会误认为:时间戳是一个时间字段,每次增加数据时,填入当前的时间值。其实这误导了很多朋友。

1.基本概念

时间戳:数据库中自动生成的唯一二进制数字,与时间和日期无关的, 通常用作给表行加版本戳的机制。存储大小为 8个字节。

每个数据库都有一个计数器,当对数据库中包含 timestamp 列的表执行插入或更新操作时,该计数器值就会增加。该计数器是数据库时间戳。这 可以跟踪数据库内的相对时间,而不是时钟相关联的实际时间。一个表只能有一个 timestamp 列。每次修改或插入包含 timestamp 列的行 时,就会在 timestamp 列中插入增量数据库时间戳值。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任 何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标 中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。

使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。如果对行进行了更改,就会更新该时间戳值。如果没有对行进行更改,则该时间戳值将与以前读取该行时的时间戳值一致。若要返回数据库的当前时间戳值,请使用 @@DBTS。

2.时间戳的作用

在控制并发时起到作用:

用户A/B同时打开某条记录开始编辑,保存是可以判断时间戳,因为记录每次被更新时,系统都会自动维护时间戳,所以如果保存时发现取出来的时间戳与数据库中的时间戳不相等,说明在这个过程中记录被更新过,这样的话可以防止别人的更新被覆盖。

3.时间戳的应用

简单说一下,timestamp 主要是记录该行的最后修改时间戳,注意,这个时间戳是不可以转换为时间的,只能标注该行修改了。

通常是用在数据增量更新方面,比如说,从该表复制数据到另外一个表,但是如果只复制更新过的,那么从最后一次更新的时候,记录最大的 timestamp的值,然后在当前更新的时候,只要where条件找出大于最后一次更新的 timestamp 值的所有行。然后抽取到更新过的数据,进行复制到另外一个服务器,这就是增量更新用到的。


https证书行业资讯
Cisco VPN套件中过期的SSL证书将破坏网络配置

任何运行思科支持的虚拟专用网络(VPN)的人都可能需要安装更...

使用Elasticsearch、Logstash和Kibana管理日志

​ 全面的日志管理和分析策略是关键任务,使组织能够理解运营...

PFS概览

PFS概览 众所周知,若服务器的私钥泄漏,任何可以访问私钥的人...

谷歌将在2018年9月取消“安全”标识

最后甚至会从Chrome的UI中取消挂锁图标。。。 谷歌爸爸在上周四...

Chrome 66 Beta即将上线 你的赛门铁克SSL证书可能会

Google Chrome 66 Beta将于3月15日,即本周四发布。 虽然谷歌和赛门铁...

常见的SSL错误解决办法

常见的 SSL 错误解决办法 为了保障用户的隐私信息安全,减少信...

手把手Docker java web 应用helloword(四)

从昨天跟大家分享金网科技原创手把手Docker java web 应用hellowor...

API测试是什么

什么是API API是Application Programming Interface的简写。 实现了两个或...

代码签名入门

代码签名证书简介及其许多好处 今天,几乎所有东西都是电脑。...

最常见的开源协议

对最常见的开源协议做下总结分享 Mozilla Public License MPLLicense,允...