Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我不知道怎么称呼它,也许它就在SO的某个地方……
我在想哪一个更快,更容易维护..
说,我有 50 个变量,其中每个变量从表中获取其值,例如
SET @Location = SELECT location FROM params WHERE TYPE = 'Param'
对比
SET @Location = 'D:\OUTBOX\'
哪个是优化的,并且会在查询执行过程中得到提升,除了使用 SQL 分析器 + SQL 执行计划之外,还有其他方法可以分析查询吗?
嗯,第二个显然更快,因为它不读取任何数据,但它可以为你工作吗?它显然也更难维护。第一个带有简单选择的,但不应该导致任何性能问题。
如果所有变量都来自表中的同一行,则可以使用一条SELECT语句读取它们:
SELECT
SELECT @Location = location, @Param2 = Column2, @Param3 = Column3 FROM params WHERE TYPE = 'Param'