有关数据优化/ SQL查询优化和索引的问题

时间:2019-05-13 21:52:36

标签: sql-server database query-optimization database-tuning query-tuning

City(cityID, nameCity, nbInhabitants)
Company(companyID, companyName, nbEmployees, cityID) cityID: FK(City)

cityID is PK of City
companyID is PK of Company

基于以下统计信息:•城市包含4000个元组,每页20个元组•公司包含20万个元组,每页15个元组

1-重写以下查询以提高其执行效率以及获得这些好处的原因:

SELECT DISTINCT companyID
FROM City NATURAL JOIN Company
WHERE nbEmployees >= 5000
AND nameCity = 'Lisboa'

我的解决方案:不需要“ distinct”,因为为什么在表中重复了companyID?

上的索引
Company(nbEmployees, cityId) and City(cityId, 'Lisboa')

您可以帮助我进行其他一些改进吗?

第二个问题: 通常通过SQL查询访问雇员人数超过10000的公司。考虑到关联公司的元组数量很大,可以使用哪种模式调整机制来加快查询速度?

3rd:如果使用SQL Server,可以使用哪种机制来实现上一个问题的架构修改,请向我解释原因!

0 个答案:

没有答案