小编gil*_*hal的帖子

用于查询的 CLR SQL 与 T-SQL

我知道 CLR 存储过程在过程代码中更有效,而 T-SQL 更适合查询 - 但是我很难决定使用什么来满足我的特定需求,我想知道是否还有其他事情我在做决定时应该考虑一下。

我计划创建的代码涉及查询一组数据、实现一些算法(随着时间的推移会变得更加复杂)以及将数据插入到数据库中。此存储过程将由调度程序部署 - 最有可能是 azure webJobs,因为据我所知 Azure SQL 不支持 db 作业。

为什么我想到使用 C#

假设我可以从我的服务器加载 DAL 库,并利用 OOP - 我想我可以为这个问题实现一个对编码器更友好的解决方案 - 至于性能,我认为它会更好或至少在比较中不明显。

为什么我想到使用 T-SQL

我实际上并不认为这是一个更好的解决方案,但可能有一些我忽略的东西可能是 T-SQL 的一个很好的例子,因为对我来说它没有任何意义。

最重要的是

有没有办法可以创建一个 T-SQL 存储过程,调用一个带有复杂对象作为参数的 C# 存储过程 - 执行我的算法并返回要插入的数据,然后从 T-SQL 插入它?似乎是最优雅、性能最好的 (?) 解决方案(假设它是可能的,并且从 T-SQL 调用 CLR 没有任何缺点)。

sql-server t-sql azure-sql-database sql-clr

3
推荐指数
1
解决办法
2559
查看次数

什么时候复制数据进行查询有意义

我有以下表格设计。

一个Event表,带有用于保存事件元数据的辅助表。

每个事件行具有事件类型柱(regular_eventrecurring_routetimed_messages等。)

每个事件类型都有自己的表来定义有关事件的不同内容 - 包括用户。问题是它可能被多对多表 ( users_regular_events) 或第三个表或第四个表( )直接引用events -> recurring_routes -> recurring_routes_stations -> recurring_stations -> recurring_stations_users -> users

创建一个users_events表来复制某些事件之间的关系是否有意义?因为,目前如果我想向每个用户展示他的事件,我将不得不加入多个表。也许我需要重新考虑我的整个设计?

database-design sql-server

0
推荐指数
1
解决办法
183
查看次数