如果我这样说:
SELECT TOP(10000) ProductId from ProductInfo WHERE ProductId IN
(
SELECT ProductId from DeletedProduct
)
它是否能够在整张桌子上扫描,或一旦发现10 000头就消失?
如果我这样说:
SELECT TOP(10000) ProductId from ProductInfo WHERE ProductId IN
(
SELECT ProductId from DeletedProduct
)
它是否能够在整张桌子上扫描,或一旦发现10 000头就消失?
它一旦发现10 000个,就将停止。
你们是否没有利用我的DELETE解决办法?
我认为,如果你加入进来,你的询问就会更快:
SELECT TOP(10000) P.ProductId
FROM ProductInfo P INNER JOIN DeletedProduct D on P.ProductId=D.ProductId
如果你只是对产品信息数据库(而不是其他栏目)感兴趣,并且只是为了核实产品实际存在,那么这种产品可能更快。
在管理室里,把你的询问和下面的问询合并在一起,表明贵方的费用为99%,而以下成本为1%(越快);但是,这只能归功于我正在使用的数据库。
SELECT TOP(10000) ProductId
FROM DeletedProduct D
WHERE EXISTS (SELECT * FROM ProductInfo P WHERE P.ProductID=D.ProductID )
For MSSQL, it will definitely index or table scan DeletedProduct since you are selecting all records there. At a guess, it will probably also do a index scan on ProductInfo unless there are >>> more than 10 000 records in it, and also unless the clustered index is on ProductId (but y, it will only read the pages needed to fill 10 000 records)
I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...
I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域
We have a restaurant table that has lat-long data for each row. We need to write a query that performs a search to find all restaurants within the provided radius e.g. 1 mile, 5 miles etc. We have ...
What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2
I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...
we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...
I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...
I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...