问题列表 - 第9页

SQL Server 无法删除数据库 <dbname>,因为它当前正在使用...但没有显示会话

当我尝试删除数据库时,出现错误“无法删除数据库“dbname”,因为它当前正在使用中”。但是,当我运行时sp_who2,肯定没有连接到该数据库的会话。我还将数据库设置为single_user mode with rollback immediate.

为什么会这样?

sql-server-2005 sql-server

88
推荐指数
5
解决办法
22万
查看次数

为什么 SET ARITHABORT ON 会显着加快查询速度?

查询是包含许多分组级别和聚合操作的单个选择。使用 SET ARITHABORT ON 只需不到一秒钟,否则需要几分钟。我们已经在 SQL Server 2000 和 2008 上看到了这种行为。

sql-server

88
推荐指数
4
解决办法
8万
查看次数

使用 LEFT JOIN 或 NOT EXISTS 之间的最佳实践

使用 LEFT JOIN 或 NOT EXISTS 格式之间是否有最佳实践?

使用一个比另一个有什么好处?

如果没有,应该首选哪个?

SELECT *
FROM tableA A
LEFT JOIN tableB B
     ON A.idx = B.idx
WHERE B.idx IS NULL
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM tableA A
WHERE NOT EXISTS
(SELECT idx FROM tableB B WHERE B.idx = A.idx)
Run Code Online (Sandbox Code Playgroud)

我在 Access 中对 SQL Server 数据库使用查询。

join sql-server exists

88
推荐指数
4
解决办法
18万
查看次数

如何在 SQL Server 中查询上次还原日期?

是否有 T-SQL 查询显示某个数据库的上次还原日期时间?

sql-server-2008 sql-server restore

87
推荐指数
3
解决办法
25万
查看次数

存储过程可以防止 SQL 注入吗?

存储过程真的可以防止针对 PostgreSQL 数据库的 SQL 注入攻击吗?我做了一点研究,发现即使我们只使用存储过程,SQL Server、Oracle 和 MySQL 也不能安全地抵御 SQL 注入。但是,这个问题在 PostgreSQL 中不存在。

PostgreSQL 核心中的存储过程实现是防止 SQL 注入攻击还是其他什么?或者即使我们只使用存储过程,PostgreSQL 是否也容易受到 SQL 注入的影响?如果是这样,请给我举个例子(例如书籍、网站、论文等)。

postgresql security sql-injection

85
推荐指数
5
解决办法
1万
查看次数

在 PostgreSQL 中使用索引

我有几个关于在 PostgreSQL 中使用索引的问题。我有一个Friends带有以下索引的表:

   Friends ( user_id1 ,user_id2) 
Run Code Online (Sandbox Code Playgroud)

user_id1并且user_id2是user表的外键

  1. 这些是等价的吗?如果不是,那为什么?

    Index(user_id1,user_id2) and Index(user_id2,user_id1)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果我创建主键(user_id1,user_id2),它会自动为它创建索引吗?

    如果第一个问题中的索引不相等,那么在上面的主键命令上创建了哪个索引?

postgresql index primary-key

85
推荐指数
5
解决办法
3万
查看次数

mysql 中 On Delete Cascade 和 On Update Cascade 的区别

我在 MySQL 数据库中有两个表 - parent, child. 我正在尝试根据父表向我的子表添加外键引用。有没有之间的任何显著差异ON UPDATE CASCADE和ON DELETE CASCADE

我的父表

CREATE TABLE parent (
    id INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)

我的问题是:以下 sql 查询有什么区别。

  1. ON DELETE CASCADE

    CREATE TABLE child (
        id INT, 
        parent_id INT,
        INDEX par_ind (parent_id),
        FOREIGN KEY (parent_id) 
            REFERENCES parent(id)
            ON DELETE CASCADE
    ) ENGINE=INNODB;
    
    Run Code Online (Sandbox Code Playgroud)
  2. ON UPDATE CASCADE

    CREATE TABLE child (
        id INT, 
        parent_id INT,
        INDEX par_ind (parent_id),
        FOREIGN KEY (parent_id) 
            REFERENCES parent(id)
            ON UPDATE CASCADE
    ) …
    Run Code Online (Sandbox Code Playgroud)

mysql innodb foreign-key mysql-5.5

85
推荐指数
3
解决办法
19万
查看次数

<> 和 != 在 SQL Server 中性能相同的权威来源

考虑一下SO 上的这个答案,它使询问者对<>运营商感到放心:

<>是 ... 与 相同!=。

但随后一位评论者插嘴说:

确实,它们在功能上是相同的。但是,SQL 优化器如何使用它们是非常不同的。=/!= 被简单地评估为真/假,而 <> 意味着引擎必须查看该值是大于还是小于,这意味着更多的性能开销。只是在编写可能很昂贵的查询时需要考虑的事情。

我相信这是错误的,但为了解决潜在的怀疑论者,我想知道是否有人可以提供权威或规范的来源来证明这些运算符不仅在功能上相同,而且在所有方面都相同?

performance sql-server operator

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

为什么我的查询突然比昨天慢?

[敬礼]

(检查一个)

[ ] Well trained professional, [ ] Casual reader, [ ] Hapless wanderer,
Run Code Online (Sandbox Code Playgroud)

我有一个(检查所有适用的)

[ ] query [ ] stored procedure [ ] database thing maybe  
Run Code Online (Sandbox Code Playgroud)

运行良好(如果适用)

[ ] yesterday [ ] in recent memory [ ] at some point 
Run Code Online (Sandbox Code Playgroud)

但现在突然变慢了。

我已经检查过以确保它没有被阻止,并且它不是某些长时间运行的维护任务、报告或其他带外进程的受害者。

有什么问题,我应该怎么做,我可以提供哪些信息来获得帮助?

[*Insert appropriate closing remarks*]
Run Code Online (Sandbox Code Playgroud)

performance sql-server execution-plan parameter-sniffing query-performance

81
推荐指数
4
解决办法
4万
查看次数

如何在 PostgreSQL 中列出表的所有约束?

如何列出PostgreSQL中表的所有约束(主键,检查,唯一互斥,..)?

postgresql

81
推荐指数
3
解决办法
12万
查看次数