【发布时间】:2010-10-07 05:19:51
【问题描述】:
您可能知道 Halloween problem,如果使用不当,SQL 游标可能会成为您的噩梦。
如果不仔细使用 SQL 2005 功能,可能会引入哪些其他细微问题(难以调试和检测)?
【问题讨论】:
标签: tsql
您可能知道 Halloween problem,如果使用不当,SQL 游标可能会成为您的噩梦。
如果不仔细使用 SQL 2005 功能,可能会引入哪些其他细微问题(难以调试和检测)?
【问题讨论】:
标签: tsql
首先,除非绝对没有其他方法,否则不应使用游标。几乎所有事情都可以根据设置完成。数字表将对此有所帮助。 检查 XACT_STATE 以确定交易。还有很多事情需要注意
【讨论】:
试图将 SQL 视为编程环境可能是最大的错误。 SQL 就是声明你想要什么。如果您曾经使用过游标或循环结构,请问问自己是否有办法将其转换为 INSERT/UPDATE
【讨论】:
【讨论】:
我想到了许多问题:
NULL 有它的位置——当它真的意味着没有选择或值时——但在许多情况下,你可能最好定义一个默认值(在 INT 列上通常为“0”),它表示“没有” " 或 "没有选择" 等等。
此外,使用索引 - 如果您在 WHERE 子句中使用 T-SQL 函数,例如“UPPER(myCol) = (value)”或“LEFT(myCol, 10) = (value)”,那么您将不会也可以查看索引的预期收益。
编制索引可以极大地提升您的表现 - 但要明智地编制索引!
【讨论】: