【发布时间】:2011-06-19 20:42:32
【问题描述】:
我使用 SQLite 数据库并在执行实际查询之前运行 EXPLAIN 语句以验证是否有任何写入数据库的尝试。
现在,我们已经迁移到 SQL Server,我需要知道一个查询是试图写入数据库还是只是一个简单的 SELECT 语句。我基本上尽量避免任何恶意言论。
【问题讨论】:
-
您为什么不使用没有任何 DML/DDL 权限的用户/角色/应用程序角色运行查询?
-
确实;正如 Damien 所说,使用 SQL Server 的方法是简单地创建一个无法写入数据库的用户,然后使用它。相比之下,尝试通过分析查询计划来做一些聪明的事情非常复杂且容易出现问题。
标签: sql-server sqlite explain