【问题标题】:server-side SQL library服务器端 SQL 库
【发布时间】:2013-01-15 02:54:02
【问题描述】:

.net 中是否存在可以在服务器端执行查询的库?

我问的原因是即使我使用了许多技巧来最大化数据库性能,例如PRIMARY 上的SELECTing 和JOINing,使用INTs 作为PRIMARY,固定@ 987654327@s、UPDATEing 而不是 DELETEing、对于要成为 UPDATEd 的列的 NULLs 和 UPDATEing 表,使用 INT“状态”列(例如“活动”、“非活动”等),但延迟时间从 100ms 只需使用几个 SELECTs 和 1 个 JOIN 使用上述技术。

我将开始使用JOIN 的服务器,因为我已经成功地将延迟降低到

例如,将单个 JOIN 查询分解为多个查询:

  1. SELECT 基于 PRIMARY 键的 table1 中的特定行
  2. SELECT 来自 table2 的特定行,基于位于 table1 中的 PRIMARY

而且复杂性只会从那里增加。 .net 是否存在这样的库/功能?

非常感谢!

【问题讨论】:

  • 所有数据库相关的查询都是在服务器端执行的,我不太清楚你在找什么,你在找ORM
  • 您查询的列上是否有索引?
  • @Habib 感谢您的关注!不,我想分解更复杂的查询以降低延迟。从基本JOIN 的示例中,我只想要两个基本SELECTs。我已经手动完成了这项工作,结果很好,但我没有开发自己的巨大class,而是希望这已经完成
  • @syrion 感谢您的关注!绝对地。当我从PRIMARY 上做一个JOIN 时,这并不是世界末日,但它确实上升了几十毫秒。考虑到 ping 延迟为 50 毫秒,它开始累加。当我无法从PRIMARY 中删除JOIN 时,情况会变得非常糟糕。
  • @Habib 原谅我糟糕的词汇。当我说“服务器端”时,我的意思是 vb.net、c#、php、RoR、c++ 等。我希望减少对数据库的“思考”依赖,因为它甚至比 PHP 还要慢(我已经加快了我个人的速度)网站更多地依赖 PHP 而不是 MySQL)

标签: c# .net sql vb.net performance


【解决方案1】:

听起来您正在寻找类似ADO.NET Entity Framework 的东西。使用 LINQ,您可以通过将查询表达式转换为 SQL 并优化(尽可能)以获取您正在查询的数据的方式在代码中查询数据。

【讨论】:

  • 感谢您的建议!它是否避免JOINs 并在数据库上排序?它是否完成了所有“思考”的服务器端?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多