小编Har*_*run的帖子

如何索引两个或多个表的 JOIN 结果以提高 SQL Server 中的性能?

我是索引的新手,并了解了索引的基础知识。我可以在相应表的索引部分中找到主键约束的默认聚集索引,但是在创建外键约束后我找不到任何。

现在我有一个要求,应该实施索引以提高性能。我已经阅读了关于索引外键以提高JOIN result的性能的内容。

我是否需要将外键列添加到其他非聚集索引或外键具有默认索引?

如果我的SQL 表结构如下,并且我有一个使用t1_col3 的WHERE 子句JOIN 查询,我如何有效地实现索引

               table1                       table2
               ------                       ------
               t1_col1(pk)                  t2_col1(pk)
               t1_col2                      t2_col2
               t1_col3                      t2_col3
               t1_col4                      t2_col4
               t2_col1(FK)
Run Code Online (Sandbox Code Playgroud)

index sql-server

9
推荐指数
1
解决办法
2万
查看次数

仅当子表中的所有记录都具有值时,单个 sql 查询才能从父表中选择一条记录

我有 Table1 和 Table2,Table1 的 PK 是 Table2 的 FK。现在,当且仅当与 Table1 记录对应的 Table2 中的所有记录都有值时(如果任何字段值为空,则跳过),我需要从 Table1 中执行选择

即,对于表 1 中的 id,表 2 中有多个子 id。在这些多个 id 中,如果某个特定字段对应于任何一个 id 为空,则应该跳过 select。

任何人请帮我为这个要求写一个 sql 查询。

sql-server

8
推荐指数
1
解决办法
10万
查看次数

如何在存储过程中包含日期时间参数以及字符串查询?

我的存储过程如下,

    -- Add the parameters for the stored procedure here 
   @FromDate datetime,
   @ToDate datetime

       --Select query
      DECLARE @query nvarchar(max)

      set @query='SELECT [col1] 
                  FROM [Table1]              
                  WHERE ([col2] BETWEEN '''+@FromDate+''' AND'''+@ToDate+''')'

       execute sp_executesql @query
Run Code Online (Sandbox Code Playgroud)

执行此字符串查询会导致以下错误,

"从字符串转换日期和/或时间时转换失败。 "

哪位大神帮我解决一下...

sql-server stored-procedures dynamic-sql

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