DateTime.Now.Ticks 在循环内重复

2023-12-02

我正在尝试为表的主键生成唯一 ID,并且我正在使用DateTime.Now.Ticks为了它。这是目前我们无法使用的要求Identity.

但有时,在循环内,它会在连续迭代中生成相同的 ID。 我的简化代码如下所示

    While(IncomingData.Next())
    {
     IncomingData.ID = DateTime.Now.Ticks;
     // Other Operations
      .
      .
      .
     InsertInDatabase(IncomingData);
    }

是否是因为我的处理器每秒指令的速度大于其精度Ticks被测量? 我使用的是 I5 2.9GHZ 处理器。虽然我通过引入计数变量并将其添加到解决了我的问题ticks。这感觉不是一个好方法。无论如何,有人可以帮我把它分解一下吗?tick计算是否取决于CPU周期?谢谢。


Using DateTime.Now.Ticks因为数据库身份是一个非常糟糕的主意。即使您解决了问题中的“重复问题”,您的应用程序将来也可能会崩溃,例如,一个非常常见的场景,应用程序部署在多个服务器上。

您可以 (1) 使用数据库自​​动生成、自动增加的 id,或 (2) 使用Guid解决这个问题。

EDIT数据库性能考虑下,自动增加long在大多数情况下,id 的性能比guid 更好。

EDIT Treat tick作为时间测量单位,就像年/月/日/小时/分钟/秒/毫秒/纳秒一样。Tick介于毫秒和纳秒之间,1 毫秒 = 100000 个刻度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DateTime.Now.Ticks 在循环内重复 的相关文章

  • 将运算符 << 添加到 std::vector

    我想添加operator lt lt to std vector
  • Qt - QProcess 不工作

    我尝试启动 Internet Explorer 所以我使用下面的代码 QProcess process new QProcess this QString temp C Program Files Internet Explorer iex
  • 在 HKCR 中创建新密钥有效,但不起作用

    我有以下代码 它返回 成功 但使用两种不同的工具使用搜索字符串 3BDAAC43 E734 11D5 93AF 00105A990292 搜索注册表不会产生任何结果 RegistryKey RK Registry ClassesRoot C
  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • 语音识别编程问题入门

    所以 你们可能都看过 钢铁侠 其中托尼与一个名为贾维斯的人工智能系统进行交互 演示剪辑here http www youtube com watch v Go8zsh1Ev6Y 抱歉 这是广告 我非常熟悉 C C 和 Visual Basi
  • 获取没有显式特征的整数模板参数的有符号/无符号变体

    我希望定义一个模板类 其模板参数始终是整数类型 该类将包含两个成员 其中之一是类型T 另一个作为类型的无符号变体T 即如果T int then T Unsigned unsigned int 我的第一直觉是这样做 template
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 将 Word 转换为 PDF - 禁用“保存”对话框

    我有一个用 C 编写的 Word 到 PDF 转换器 除了一件事之外 它工作得很好 有时 在某些 Word 文件上 后台会出现一条消息保存源文件中的更改 gt 是 否 取消 但我没有对源文件进行任何更改 我只想从 Word 文件创建 PDF
  • 将函数参数类型提取为参数包

    这是一个后续问题 解包 元组以调用匹配的函数指针 https stackoverflow com questions 7858817 unpacking a tuple to call a matching function pointer
  • 模板类的模板构造函数的 C++ 显式模板特化

    我有一个像这样的课程 template
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include

随机推荐

  • Activity崩溃后如何自动重启?

    有没有办法让我创建一个服务来跟踪我的活动类并在崩溃后重新启动它 请注意 我不能使用未捕获的处理程序线程方法来重新启动我的应用程序 我的应用程序应该会崩溃 不用担心那部分 我的应用程序很简单 就像这样 private class AudioR
  • 替换 MS SQL Server 中的特定 Unicode 字符

    我正在使用 MS SQL Server Express 2012 我在删除 unicode 字符时遇到问题U 02CC 十进制 716 在网格结果中 原文是 e r 我像这样尝试过 它不起作用 SELECT ColumnTextWithUn
  • 最简单的 MySQL 到 MySQLi 过渡

    我目前正在使用我在课堂上教授的已贬值的MySQL 我发现这不是正确的方法 有两个更好的选择 MySQLi 和更好的 PDO 虽然我发现切换到 PDO 对我来说有点困难 因为我对 OOP 一无所知 但我认为至少切换到 MySQLi 是必须的
  • 修复“包含重复的‘编译’项目。” Visual Studio 中的错误

    这是一个非常烦人的 VS 错误 我使用的是 VS 2019 16 8 1 我花了很多时间来修复它 包含重复的 编译 项目 NET SDK 包括 默认情况下从项目目录 编译 项目 你可以 从项目文件中删除这些项目 或设置 如果需要 可将 En
  • MySQL变量存储数据库名称

    我有一个很长的脚本 需要在几个不同的数据库上运行 所有数据库都具有相同的表和字段名称 我想做的是这样的 1 SET TARGET DATABASE beta 2 SET SOURCE DATABASE sandbox 3 4 CREATE
  • 通过 Chrome 上的 KBX 扩展程序安装时 Kynetx 应用程序无法运行

    我的应用程序正在加载外部 javascript 文件jQuery getScript 当我使用书签或扩展程序启动应用程序时 一切正常 当应用程序通过 KBX 安装时 虽然在内部Chrome与KBX扩展javascript 文件中包含的函数无
  • 如何在asp.net中实现文件下载

    使用 asp net 2 0 从网页实现下载操作的最佳方法是什么 操作的日志文件在名为 Application Root Logs 的目录中创建 我有完整路径并想提供一个按钮 单击该按钮会将日志文件从 IIS 服务器下载到用户本地电脑 这有
  • 购物车表如何与另一个表关联?

    我有表 table name id cart token data created at Updated at 想要使用令牌列 table name cart token cart token 与商店购物车表关联 只要购物车表没有 Cart
  • mysql 自然排序

    我有像这样的桌子server id name ip 当我尝试按名称对结果进行排序时 我得到 srv1 srv10 srv11 srv2 srv6 但我需要像这样的结果srv1 srv2 srv6 srv10 srv11 我知道的一个想法是
  • ORA-01855: 上午/上午或下午/下午必需的

    我收到错误 ORA 01855 AM A M or PM P M required 当我尝试执行以下查询时 INSERT INTO TBL ID START DATE values 123 TO DATE 3 13 2012 9 22 00
  • 半径/最近结果 - Google 地图 API

    首先 我使用 Google Maps API v3 我有一张大地图 显示从数据库中提取的所有结果 现在我想实现一个功能 显示距当前位置 X 公里内最近结果的半径 由 HTML5 地理定位提供 由于地图包含所有结果 我希望能够添加X公里 然后
  • 在 linq 中使用 ANY 条件处理 WHERE 内的空值

    我的问题是 db 对象可以有空描述 ofc linq 将抛出空异常 我用它来搜索描述和标题 这是代码 string searchQry searchString Split searchQry searchQry Select sq gt
  • 相机拍摄的照片上传异常(Firebase 存储)

    我正在尝试将 Android 应用程序中相机拍摄的图像上传到 Firebase 存储 问题是我拍照后在确认activity 我按下确认按钮 它显示 不幸的是 应用程序已停止 这是当我按下检查按钮时的图像 应用程序崩溃了 这是我的代码 应用程
  • 使用 jQuery 选择一个选项?

  • 将 ViewData\ModelState 导出到子操作

    正如题主所说 这是一个坏主意吗 如果是这样 为什么 目前 如果您从 Html Acion 内部渲染某些输入字段 则不会向用户显示验证错误 因为当涉及 Html Action 时 在其上下文中 ModelState 会被清除 那么最好的模式是
  • 将值和标签设置为 JComboBox

    我有一个 JComboBox 其中的项目是查询的结果 该组合显示了从查询中获取的所有类别名称 对吧 好的 它有效 现在我需要给每个项目一个值 这将是产品的 ID 这是我到目前为止所得到的 final JComboBox proveedorC
  • asp.net特殊标签之间的区别

    我现在正在开发应用程序的前端部分 我想到了一个问题 asp net特殊标签有什么区别 如果存在其他特殊标签 请描述其功能
  • Inno Setup Exec 不等待 InstallShield 卸载完成

    尝试使用卸载字符串卸载软件 并使用Exec in InitializeSetup 在安装之前 它不会等待卸载完成 而是继续在 Inno Setup 中进行下一步安装 我正在使用以下代码和我尝试在 Installshield 产品中卸载的软件
  • 如何以编程方式使用图像添加栏按钮

    我正在以编程方式创建一个栏按钮 但它无法固定到屏幕上 帮助我解决这个问题 截屏 UIImage image UIImage imageNamed request png UIBarButtonItem button2 button2 set
  • DateTime.Now.Ticks 在循环内重复

    我正在尝试为表的主键生成唯一 ID 并且我正在使用DateTime Now Ticks为了它 这是目前我们无法使用的要求Identity 但有时 在循环内 它会在连续迭代中生成相同的 ID 我的简化代码如下所示 While Incoming