gpt4 book ai didi

c# - SQL 聚合性能 : converting data types, 然后序列化,而不是让它们单独存在。哪个更好?

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:31 25 4
gpt4 key购买 nike

我在 C# 中有一个自定义 SQL 聚合,可以解析和处理数千万条记录。现在,查看代码,我可以看到发生了一些相当奇怪的事情:

  1. 所有内容都作为带有变量名称的 Sql 数据类型插入到聚合中。示例:SqlString something;SqlInt32 somethingElse;
  2. 出于某种原因,有人决定将这些数据类型转换为 C# 数据类型。 string, int 等等,虽然我们可以从头到尾使用Sql数据类型。
  3. 转换后,在将其发送回 SQL Server 之前,必须为 SQL Server 序列化数据以便再次被接受。

我完全看不出为什么会发生这种情况。我们必须采取额外的步骤将数据序列化以将其转换回 SQL 数据类型,以便它按原样继续。转换数据类型,然后在发送前序列化的额外步骤似乎是不必要的。

显然,我应该先测试一下,以确保……但由于访问限制,我无法进行测试。这不是资源的彻底浪费吗?当您可以只使用 Sql 数据类型时,这似乎是毫无意义的转换和序列化。

最佳答案

这对我来说听起来像是在转移注意力(或“红色数据转换”)。 SqlStringstring 在幕后是相同的,在这种情况下,编译器将不执行优化后的任何操作。如果存在功能/逻辑差异,则需要执行转换才能在代码中使用 C# 类型。

在这两种情况下都没有理由修改代码。

当然,这只是猜测,并没有真正看到您的代码。为了准确理解您在说什么并给出更好的答案,您需要查看实际代码。

关于c# - SQL 聚合性能 : converting data types, 然后序列化,而不是让它们单独存在。哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32767381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com