多个连接查询很费时
查询包括20张表,使用了16个连接
每张表数据暂时不是很多,但是查询时间已经快一分钟了
[解决办法]
分析下SQL语句有没有问题,存不存在笛卡尔积的情况,当然结果不希望是笛卡尔积的时候。
索引什么的楼主都懂是吧!
[解决办法]
[解决办法]
对相关字段建立索引,优化你的查询语句,提高你的硬件配置能提高你的查询速度.
[解决办法]
除了添加索引外,是否可以考虑测试一下用临时表来实现部分子查询,然后用临时表内容来连接和只用连接哪个更快些.
[解决办法]
[解决办法]
[解决办法]
如果是视图 可以用索引视图试试
[解决办法]
- SQL code
---索引视图索引视图是具体化的视图--创建索引视图create view 视图名 with schemabinding asselect 语句go---创建索引视图需要注意的几点1. 创建索引视图的时候需要指定表所属的架构--错误写法create view v_f with schemabinding asselect a.a,a.b,b.a,b.bfrom a join b on a.id=b.idgo---正确写法:create view v_f with schemabinding asselect a.a,a.b,b.a,b.bfrom dbo.a join dbo.b on a.id=b.idgo2.在创建索引视图的select语句时,不使用*,必须指定具体的列名--错误写法create view v_f with schemabinding asselect *from dbo.a join dbo.b on a.id=b.idgo---正确写法create view v_f with schemabinding asselect a.a,a.b,b.a,b.bfrom dbo.a join dbo.b on a.id=b.idgo3.在创建索引视图的select 语句中,不能存在重复的列名,这个不举例了4. 只能为索引视图创建唯一聚集索引--正确的写法create unique clustered index ix_uniquetb on v_tbgo--错误的写法 create clustered index ix_uniquetb on v_tbgo
[解决办法]
如果不用视图 可以放入临时表处理 关联字段加索引
[解决办法]
索引不全
[解决办法]
1.临时表
2.视图
3.索引
[解决办法]
嵌套查询·····
[解决办法]
临时表,index
[解决办法]
[解决办法]
1.临时表
2.视图
数据量大的时候索引是必需的 。
[解决办法]
视图还不如直接对表查询,做好相关的索引,如有必要使用临时表。
[解决办法]
建立索引视图试试