我正在为我的应用程序使用sql server和winforms。通过按下表单上的按钮,数据将每分钟插入到数据库表中。
为此,我使用INSERT查询。
但是如果我创建一个过程并在其中包含相同的插入查询,那么它会更有效,那会有什么不同呢?
答案 0 :(得分:3)
使用存储过程更安全
答案 1 :(得分:3)
存储过程通常会更快,因为存储了查询计划,并且不需要为每个调用创建存储过程。如果这是一个简单的插入,差异将是最小的。
存储过程可以使用执行权限运行,这比向用户提供插入权限更安全。
答案 2 :(得分:2)
这取决于'有效'的含义。
我个人(目前)使用内联SQL进行查询和删除,以及用于插入的存储过程。我有一个脚本和一组迁移文件,我可以对生产数据库运行以部署表和SP更改,这似乎工作得很好。我还围绕内联SQL和SP调用进行了集成测试。如果你使用内联SQL,你肯定应该使用参数化查询,它有助于防止SQL注入攻击,它也更容易阅读和编程。
答案 3 :(得分:1)
如果您的DBA甚至允许您在没有存储过程的情况下执行此操作,我会非常怀疑......