c# - SQL 超时和查询性能

标签 c# sql sql-server

我有以下 SQL 查询:

SELECT TOP(100)
    VIEW_RAUMBUCHUNG_RAUM.RAUMID,
    VIEW_RAUMBUCHUNG.VON,
    VIEW_RAUMBUCHUNG.BIS,
    VIEW_RAUMBUCHUNG.RAUMBEZEICHNUNG,
    VIEW_RAUMBUCHUNG.THEMA,
    VIEW_RAUMBUCHUNG.V_EMAIL,
    VIEW_RAUMBUCHUNG.VERANSTALTER,
    VIEW_RAUMBUCHUNG_RAUM.COLOR,
    VIEW_RAUMBUCHUNG.RAUMID AS Expr1,
    VIEW_RAUMBUCHUNG_RAUM.BEZEICHNUNG
FROM VIEW_RAUMBUCHUNG
RIGHT OUTER JOIN VIEW_RAUMBUCHUNG_RAUM ON VIEW_RAUMBUCHUNG.RAUMID = VIEW_RAUMBUCHUNG_RAUM.RAUMID

有什么办法可以改善吗? VIEW_RAUMBUCHUNG 包含 27000 个条目,性能非常慢,即使我将结果限制为前 100 条记录。或者有没有办法优化 SQL-Server?

我的第二个问题是,如果我尝试加载整个 27000 个条目,我会在 20 秒后超时,但我在 IIS 中将超时设置为 120 秒。为什么会这样?如何避免超时?

提前致谢。

最佳答案

  1. 为两张表的RaumID字段创建索引
  2. 创建一个 View 而不是连接两个表
  3. 将您的超时设置为更大的值或设置为 0,这意味着它不会超时

关于c# - SQL 超时和查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11414015/

相关文章:

c# - CollectionBase 类是否仍然受支持?

c# - 从 C# checkout TFS/文件

c# - 使用 BouncyCaSTLe 在 C# 中重新创建 key (ECPublicKeyParameters)

php - 我可以在准备好的语句中参数化表名吗?

MySQL/PHP : Select part of word OR exact match

c# - VB.NET SQL Server 查询到 LINQ

c# - 同时执行 4 个任务,每个任务完成时自动启动另一个任务

sql - SP 返回 null 作为零?

sql-server - SQL 嵌套 IF-ELSE 语句

sql - 如何从Delphi中转义SQL字符串中的特殊字符?