小编www*_*www的帖子

性能差异:选择前1个订单与选择最小值(val)

问题很简单.哪个查询会更快:

SELECT TOP 1 value FROM table ORDER BY value
Run Code Online (Sandbox Code Playgroud)

要么

SELECT TOP 1  MIN(value) FROM table
Run Code Online (Sandbox Code Playgroud)

我们可以假设我们有两个案例,案例1.没有索引和案例2.有索引值.
任何见解都表示赞赏.谢谢!

sql performance aggregate-functions

5
推荐指数
1
解决办法
2484
查看次数

如何检查是否使用了发电机?

有可能知道是否使用了发电机?即

def code_reader(code):
   for c in code:
        yield c

code_rdr = code_reader(my_code)

a = code_rdr.next()

foo(code_rdr)
Run Code Online (Sandbox Code Playgroud)

经过foo电话,我想知道,如果.next()是呼吁code_rdr通过foo与否.当然我可以通过一些带有next()调用计数器的类来包装它.有没有简单的方法呢?

python yield generator

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

笛卡尔积和WHERE子句问题

我们有简单的表格:

CREATE TABLE dbo.test
(
    c1  INT
)

INSERT INTO test (c1) VALUES (1)
INSERT INTO test (c1) VALUES (2)
INSERT INTO test (c1) VALUES (3)
Run Code Online (Sandbox Code Playgroud)

接下来计算一些SUM:

SELECT SUM(t1.c1) FROM test AS t1 , test AS t2
WHERE t2.c1 = 1
Run Code Online (Sandbox Code Playgroud)

输出为:6.简单易行.

但如果我跑:

SELECT SUM(t1.c1), * FROM test AS t1 , test AS t2
WHERE t2.c1 = 1
Run Code Online (Sandbox Code Playgroud)

输出是:

6   2   2
6   2   3
6   2   1
6   3   2
6   3   3
6   3   1
6   1   2 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql cartesian-product sybase-ase

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