我正在 C# MVC 应用程序中针对 SQL 数据库执行以下两个查询。
查询1
SELECT tableone.id, name, time, type, grade, product, element, value
FROM dbo.tableone INNER JOIN dbo.tabletwo ON dbo.tableone.id = dbo.tabletwo.id
Where name = '" + Name + "' Order By tableone.id Asc, element
查询2
Select DISTINCT element FROM dbo.tableone
INNER JOIN dbo.tabletwo ON dbo.tableone.id = dbo.tabletwo.id
Where name = '" + Name + "'"
在运行执行这些查询的方法时,每个查询都会挂起,并且我的应用程序的下一页通常不会加载超过一分钟,或者它会在一个或另一个上超时。当我在 SQL Server 中运行相同的查询时,每个查询都需要 10 到 15 秒才能运行,这仍然太长了。
我怎样才能加快他们的速度?我从来没有创建过 SQL 索引,我不确定如何为每个索引创建它,或者这是否是正确的追求路径。
Tableone 目前有 20808805 行 3 列,tabletwo 有 597707 行 6 列。
表一
id(int, not null)
element(char(9), not null)
value(real, null)
表二
id(int, not null)
name(char(7), null)
time(datetime, null)
type(char(5), null)
grade(char(4), null)
product(char(14), null)