【发布时间】:2014-04-25 19:08:18
【问题描述】:
我的查询是
SELECT DISTINCT
Company.Name,
Customer.FirmID,
Customer.ID,
Customer.ExtendedId,
(CustomerExtended.FirstName + ' ' + CustomerExtended.LastName) as "Customer Name"
FROM
Company,
Customer,
CustomerExtended
WHERE
(Customer.ExtendedId = 1) OR
(CustomerExtended.FirstName = 'John' AND CustomerExtended.LastName = 'Smith')
由于数据库非常庞大,我没有设法执行这个查询 evan 一次。我等了 2 个小时,但它一直在运行。有没有办法优化这个?
【问题讨论】:
-
你真的需要交叉连接吗?它将组合每个表中的每一行,然后应用 where 条件。如果有很多行,你可以开始一个家庭,直到 if 完成。
-
您应该发布示例数据和预期结果。 SQL 查询似乎表明对关系数据库的工作方式缺乏了解。
标签: sql sql-server select optimization