Linq to sql Linq查询-如何改进以下查询?
我在我的asp.net网站上有一个Linq到Sql查询 这个查询太慢了,我相信可以改进 有人能帮我重写这个查询吗? 我认为使用“加入”会使它更快,但无法正确地进行(Linq to sql Linq查询-如何改进以下查询?,linq-to-sql,Linq To Sql,我在我的asp.net网站上有一个Linq到Sql查询 这个查询太慢了,我相信可以改进 有人能帮我重写这个查询吗? 我认为使用“加入”会使它更快,但无法正确地进行( 以下是查询:(输入参数:INT_性别) 查询基于3个表。 桌子: 1.用户 2.文件 3.答案 users表中的Username列是identity 每个用户可以有多个文件,也可以没有文件 每个用户可以有多个答案,也可以没有答案 谢谢! Dan以下是我用普通T-SQL破译这一点的小小尝试。希望这能有所帮助 SELECT u.u
以下是查询:(输入参数:INT_性别) 查询基于3个表。 桌子: 1.用户 2.文件 3.答案
- users表中的Username列是identity
- 每个用户可以有多个文件,也可以没有文件
- 每个用户可以有多个答案,也可以没有答案
Dan以下是我用普通T-SQL破译这一点的小小尝试。希望这能有所帮助
SELECT u.username, f.id, a.value, a.approved
FROM users AS u
JOIN files AS f ON u.username = f.username
JOIN answers AS a ON a.username = u.username
JOIN questions AS q ON a.q_id = q.id
WHERE u.gender = @INT_GENDER
AND u.age > 25
AND f.approved = 1
AND a.approved = 1
AND q.type = 1
INT_SEXT??如果您使用的是男性或女性,为什么不使用bool。为了获得最佳性能,请使用存储过程。这是因为存储过程缓存执行计划,这对快速检索非常有用。谢谢。1.INT_SEXT可以是0,1,2。2.我更喜欢使用linq,我知道我也可以进行符合要求的查询,但我正在寻找wri首先是更好的查询。@AboutDev准备好的查询(如LINQ to SQL中使用的查询)也会缓存它们的执行计划。关于存储过程优越性的城市传说已经过时了。
SELECT u.username, f.id, a.value, a.approved
FROM users AS u
JOIN files AS f ON u.username = f.username
JOIN answers AS a ON a.username = u.username
JOIN questions AS q ON a.q_id = q.id
WHERE u.gender = @INT_GENDER
AND u.age > 25
AND f.approved = 1
AND a.approved = 1
AND q.type = 1