相关疑难解决方法(0)


你如何解释查询的解释计划?

在尝试理解SQL语句的执行方式时,有时建议您查看解释计划.在解释(理解)解释计划时应该经历的过程是什么?应该突出的是,"哦,这真的很棒吗?" 与"哦不,那不对."

sql database oracle performance sql-execution-plan

88
推荐指数
3
解决办法
5万
查看次数

SQL IN对性能有害吗?

我有一个查询做类似的事情:

SELECT FieldX, FieldY FROM A
WHERE FieldW IN (108, 109, 113, 138, 146, 160,
307, 314, 370, 371, 441, 454 ,457, 458, 479, 480,
485, 488, 490, 492, 519, 523, 525, 534, 539, 543,
546, 547, 550, 564, 573, 629, 642, 643, 649, 650,
651, 694, 698, 699, 761, 762, 768, 772, 773, 774,
775, 778, 784, 843, 844, 848, 851, 852, 853, 854,
855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
865, 868, 869, 871, 872, …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2000

60
推荐指数
4
解决办法
5万
查看次数

IN与大型行集的JOIN

我想要在主表位于另一个表中的表中选择行.我不确定我是否应该在SQL Server 2005中使用JOIN或IN运算符.这两个SQL查询与大数据集(即数百万行)之间是否存在显着的性能差异?

SELECT *
FROM a
WHERE a.c IN (SELECT d FROM b)

SELECT a.*
FROM a JOIN b ON a.c = b.d
Run Code Online (Sandbox Code Playgroud)

sql performance join sql-server-2005

28
推荐指数
3
解决办法
1万
查看次数

使用WHERE IN会损害查询性能吗?

我听说使用IN子句会影响性能,因为它没有正确使用索引.见下面的例子:

SELECT ID, Name, Address 
FROM people
WHERE id IN (SELECT ParsedValue FROM UDF_ParseListToTable(@IDList))
Run Code Online (Sandbox Code Playgroud)

使用下面的表格获得这些结果会更好吗?

SELECT ID,Name,Address
FROM People as p
INNER JOIN UDF_ParseListToTable(@IDList) as ids
ON p.ID = ids.ParsedValue
Run Code Online (Sandbox Code Playgroud)

这取决于您使用的SQL Server版本吗?如果是这样哪些受影响?

sql-server

4
推荐指数
1
解决办法
8483
查看次数