`
lxy2520
  • 浏览: 6410 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

如何更快的获取数据库时间——数学公式是最好的算法

 
阅读更多

获取数据库时间

林小应

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_AdbTime_A ,

vmTime_A - dbTime_A =ΔT

由此推出 dbTime_A = vmTime_A -ΔT

因为vmTimedbTime是同步变化的,所以 dbTime = vmTime -ΔT

现在我们已经得到了ΔT,再获取dbTime的话,只需要根据ΔT vmTime计算出来就可以了

QQ:346420558

分享到:
评论

相关推荐

    常用图像质量评价数据库——CSIQ数据库

    为了进行这些研究,研究人员需要可靠的图像质量评价数据库,而“常用图像质量评价数据库——CSIQ”便是其中的典型代表。 **一、CSIQ数据库概述** CSIQ(Comprehensive Subjective Image Quality)是基于主观评价的...

    算法导论——教师手册

    - **应用场景**:通过简单的排序算法理解算法的时间和空间效率。 **2. 第3章:函数的增长** - **主题简介**:讨论如何衡量算法的运行时间和空间需求,特别是大O记号、Ω记号、θ记号的概念及其应用。 - **关键知识...

    数据库课程设计——学生档案管理系统

    【数据库课程设计——学生档案管理系统】是一篇关于学生课程设计的文章,主要关注的是如何使用C语言解决猴子吃桃子问题。这是一个经典的数学问题,通过编程技术寻找原问题的解答。文章作者贾勤在指导老师湛新霞的...

    数据库——数理逻辑ppt

    通过命题逻辑,可以形式化地表述和验证算法的正确性,确保系统的可靠性。 数理逻辑的进一步发展包括谓词逻辑,它允许对个体和属性进行更复杂的表述,引入量词(全称量词和存在量词)来描述普遍性和特殊性。谓词逻辑...

    离散数学复习题——期末复习

    这些知识点是离散数学的基础,也是计算机科学中许多领域的理论基石,例如编译器设计、数据结构、算法分析、人工智能、数据库、密码学等。通过深入理解和掌握这些内容,不仅可以提升解决问题的能力,也能为后续的学习...

    算法概论(Sanjoy Dasgupta)

    - **递归关系**: 分析了递归算法的时间复杂度,特别是通过递推公式来求解复杂问题。 - **归并排序**: 详细解释了归并排序算法的设计思路和实现过程。 - **中位数查找**: 提出了寻找无序数组中中位数的有效方法。 - *...

    加密算法实现字符串的加密

    加密算法是执行加密操作的数学公式或程序,而密钥则是一个用于解密密文的特殊值,只有知道正确密钥的人才能还原原始信息。 在“加密算法实现字符串的加密”这一主题中,我们可以关注几种常见的加密算法: 1. 对称...

    第二章算法PPT学习教案.pptx

    沃思提出的公式——数据结构 + 算法 = 程序,揭示了程序设计的核心要素。数据结构是对数据的组织方式,而算法则是描述如何操作这些数据。一个完整的程序设计还包括程序设计方法和语言工具的使用。 算法分为数值运算...

    算法导论(英文第三版原版)电子版

    - **插入排序**:通过具体的排序算法——插入排序来介绍算法分析的基本方法。 - **算法分析**:教授如何分析算法的时间复杂度和空间复杂度。 - **算法设计**:简要介绍了几种常见的算法设计策略。 - **第三章:...

    “碎片转化”——基于Android平台开发的碎片时间学习APP.pdf

    2. **知识库功能**:APP内置数据库包含各种学科知识,例如高等数学的公式和例题。用户可以在碎片时间查阅和学习,提供了一种高效的学习资源库。 3. **交流及评论系统**:用户可以在学习页面下进行评论和交流,分享...

    二十世纪的十大非常经典算法

    它支持数学公式和表达式的直接表示,大大简化了科学家和工程师们编写科学计算程序的过程。 **应用场景:** - 科学计算与工程模拟。 - 气象预报与气候研究。 - 复杂物理现象的建模等。 #### 6. 1959-1961年:QR算法...

    离散数学实验报告3——真值表与主范式.docx

    通过这样的实验,学生不仅能够深入理解离散数学中的逻辑概念,还能提升编写程序和分析算法的能力。掌握这些基础知识对于进一步学习计算机科学中的编译原理、数据库理论、形式语言和自动机理论等高级主题至关重要。

    牛顿插值——数值计算方法

    牛顿插值是一种在数值分析中广泛使用的数学方法,用于通过已知的一系列离散数据点构造一个连续的函数近似。这种方法基于牛顿多项式,可以用来估计未知点的函数值,尤其适用于数据点之间的插值问题。下面将详细阐述...

    Excel——DBC互转工具,excel转dbf转换工具,matlab源码.zip

    标题中的“Excel——DBC互转工具,excel转dbf转换工具,matlab源码”表明这是一个与数据转换相关的工具包,特别关注Excel、DBC数据库格式和MATLAB编程之间的交互。这个压缩包可能包含一系列程序或脚本,用于将Excel...

    Android源码——体重计算源码.7z

    - 体重计算可能涉及到基本的数学运算,例如计算BMI(身体质量指数),公式为BMI = 体重(kg)/ 身高²(m²)。此外,可能会有功能来评估用户的体重状态,如偏瘦、正常、偏胖等。 9. **用户交互**: - 应用可能...

    C语言教程课件ch02.ppt

    - 计算机算法通常分为数值运算算法(如求解数学问题)和非数值运算算法(如数据库查询、事务处理等)。 ### 2. 算法的特性 - **有穷性**:算法必须在有限的步骤内完成,不能无限循环。 - **确定性**:对于相同的...

    离散数学及其应用习题解析

    根据提供的标题“离散数学及其应用习题解析”和描述“离散数学及其应用习题解析 答案详细 欢迎下载”,我们可以推断出这份材料主要针对的是学习离散数学的学生群体,旨在帮助他们更好地理解离散数学的概念,并通过...

    数学建模报告(东北大学软件学院)

    《数学建模报告——探索与应用的智慧》 在学术界,数学建模是一个至关重要的领域,它将抽象的数学理论应用于实际问题,为解决复杂现象提供了强有力的工具。东北大学软件学院的数学建模课程,旨在培养学生运用数学...

Global site tag (gtag.js) - Google Analytics