获取数据库时间
林小应
1. 问题描述
我们在应用程序中会用到当前时间:JVM虚拟机的时间 和 数据库的系统时间 两种。
虚拟机时间: System.currentTimeMillis(); 或者new Date()。
获取系统时间:select sysdate from dual;
而在应用程序中调用上面的sql,容易造成数据库拥塞。而且其本身效率也很低,加上事务的开销,一次访问大约在3~4ms左右。
2. 期望
我们希望获取系统时间,每次访问低于0.1ms。就像在Java代码中调用System.currentTimeMillis();一样简单、快捷。
3. 修改方案
数据库时间 =主机时间
–主机、数据库时间差值
即
dbTime
= vmTime –
ΔT
我们利用以上公式获取当前数据库时间。只需要在内存中记录一下“主机、数据库时间差值”即可。
原理如下:
系统时间分为JVM主机时间 vmTime、数据库系统时间dbTime。假设我们某一时刻A查询出两个时间分别
vmTime_A、dbTime_A ,
则 vmTime_A - dbTime_A =ΔT
由此推出 dbTime_A = vmTime_A -ΔT
因为vmTime、dbTime是同步变化的,所以 dbTime = vmTime -ΔT
现在我们已经得到了ΔT,再获取dbTime的话,只需要根据ΔT和 vmTime计算出来就可以了
QQ:346420558
分享到:
相关推荐
逻辑回归分类实验——【机器学习与算法分析】.pdf逻辑回归分类实验——【机器学习与算法分析】.pdf逻辑回归分类实验——【机器学习与算法分析】.pdf逻辑回归分类实验——【机器学习与算法分析】.pdf逻辑回归分类实验...
比KMP更快的字符串匹配算法——BM算法,排序算法数据结构 最快的排序算法
逻辑回归分类实验——【机器学习与算法分析】.docx逻辑回归分类实验——【机器学习与算法分析】.docx逻辑回归分类实验——【机器学习与算法分析】.docx逻辑回归分类实验——【机器学习与算法分析】.docx逻辑回归分类...
自己做的操作系统课程设计———模拟时间片轮转算法,通过了老师的验收,绝对可以用!附带使用说明书 自己做的操作系统课程设计———模拟时间片轮转算法,通过了老师的验收,绝对可以用!附带使用说明书 自己做的...
——————————————————————————————————————————————————————————————————————————— C#数据结构和算法
赛才数学建模,非常好的一本数学建模书籍,数学建模及计算机算法设计的实用教程,吐血分享!
SAR雷达成像点目标仿真,包含RD算法和CS算法的原理+Matlab程序,程序每一行均有注释,适合入门
python 智能算法——简单例子蚁群算法.py
python线性回归实验——【机器学习与算法分析】.docx
若W是候选键,则必须满足两个条件:W的闭包是U;W没有冗余。 设关系模式R中U=ABC.......等N个属性,U中的属性在FD中有四种范围: (1)左右出现; (2)只在左部出现; (3)只在右部出现; (4)不在左右出现;...
数据结构——————KMP算法
《数据挖掘原理与应用——SQL Server 2005 数据库》算法案例
java毕业设计——java基于蚁群算法路由选择可视化动态模拟系统的的设计与实现(论文+开题报告+翻译+外文翻译).zip java毕业设计——java基于蚁群算法路由选择可视化动态模拟系统的的设计与实现(论文+开题报告+翻译+...
匈牙利算法 ———Hopcroft-Karp算法.docx
数学建模算法模型——数学建模32种常规方法.zip
本文章为遗传算法在数学建模中的应用。关键字:数学建模,遗传算法
一种新的启发式优化算法——五行环优化算法研究与分析.pdf
数学建模的免疫算法,来自他人
基于DMF推荐算法的推荐系统实现——数据基于DMF推荐算法的推荐系统实现——数据基于DMF推荐算法的推荐系统实现——数据基于DMF推荐算法的推荐系统实现——数据基于DMF推荐算法的推荐系统实现——数据基于DMF推荐算法...