小编kyo*_*ryu的帖子

SQL - IN与NOT IN

假设我有一个带有列的表,其中取值为1到10.我需要选择除9和10之外的所有值的列.当我使用此查询时,是否存在差异(性能方面):

SELECT * FROM tbl WHERE col NOT IN (9, 10)
Run Code Online (Sandbox Code Playgroud)

还有这个?

SELECT * FROM tbl WHERE col IN (1, 2, 3, 4, 5, 6, 7, 8)
Run Code Online (Sandbox Code Playgroud)

sql

12
推荐指数
2
解决办法
2万
查看次数

Scapy和Python 3.2

Scapy会与Python 3.2兼容吗?我一直试图找到一些关于它如何执行的信息,因为Scapy网站上有关于Python 3.X兼容性的相当稀少(如果有的话)信息,而且我没有提供任何信息.有没有人尝试在Python 3.X上使用它以及它是如何执行的?

scapy python-3.x

11
推荐指数
2
解决办法
9399
查看次数

为什么oracle optimiser以不同的方式处理JOIN和WHERE的连接?

我有一个查询,我使用查询优化器:

  SELECT res.studentid, 
       res.examid, 
       r.percentcorrect, 
       MAX(attempt) AS attempt 
  FROM tbl res 
  JOIN (SELECT studentid, 
             examid, 
             MAX(percentcorrect) AS percentcorrect 
        FROM tbl
        GROUP BY studentid, examid) r 
  ON r.studentid = res.studentid 
     AND r.examid = res.examid 
     AND r.percentcorrect = res.percentcorrect 
 GROUP BY res.studentid, res.examid, r.percentcorrect 
 ORDER BY res.examid
Run Code Online (Sandbox Code Playgroud)

让我感到惊讶的是,优化器以超过40%的速度返回以下内容:

SELECT /*+ NO_CPU_COSTING */ res.studentid, 
       res.examid, 
       r.percentcorrect, 
       MAX(attempt) AS attempt 
  FROM tbl res, 
       (SELECT studentid, 
               examid, 
               MAX(percentcorrect) AS percentcorrect 
         FROM tbl 
         GROUP BY studentid, examid) r 
 WHERE r.studentid = res.studentid 
   AND r.examid = res.examid …
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

如何设置mpi4py中的进程数

如何在mpi4py中设置固定数量的进程?在其他语言`mpi实现中,它作为参数在init(args)中传递.文档似乎没有提到这一点.有谁知道如何做到这一点?该程序将在常规双核笔记本电脑和24个节点(96核)集群上启动,我想在笔记本电脑上模拟集群.

PS.对不起,如果它实际上在文档中 - 对于mpi的新手来说,这是非常神秘的.

python mpi

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

使用列表推导表达式使用对象填充列表

我试图使用一个列表推导表达式填充8个Ingredient对象的列表.代码看起来像这样:

import random
ings = (('w1', 200, 25, 80),
   ('su1', 50, 55, 150),
   ('su2', 400, 100, 203),
   ('sy1', 10, 150, 355),
   ('sy2', 123, 88, 101),
   ('sy3', 225, 5, 30),
   ('sy4', 1, 44, 99),
   ('sy5', 500, 220, 300),)

class Ingredient: 
    def __init__(self, n, p, mi, ma):
        self.name = n
        self.price = p
        self.min = mi
        self.max = ma
        self.perc = random.randrange(mi, ma)

class Drink:
    def __init__(self): 
        self.ing = []
Run Code Online (Sandbox Code Playgroud)

我想获得相当于此的结果:

self.ing = [Ingredient('w1', 200, 25, 80), Ingredient('su1', 50, 55, 150) ... …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

TSQL - 选择插入的行

有没有办法选择插入的行?我正在尝试使用SqlCommand(它用于在数据库中保留给定的id)运行以下查询:

INSERT INTO tbl (id)
SELECT COUNT(*) + 1 AS id from tbl
Run Code Online (Sandbox Code Playgroud)

有没有办法返回插入的id列,以便我可以在我的应用程序中使用它?或者也许有一种更简单的方法可以实现这一目标?我必须绝对确定我保留了免费ID,即使多个用户同时使用该应用程序也是如此.

此外,有没有办法我可以更改查询以选择第一个免费ID,这样我可以避免差距?

c# t-sql sql-server

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

SSIS表达式无法验证

我在SSIS派生列组件中设置了以下表达式:

TRIM(xCOL) == "" ? (DT_STR,7,1252)xCOL : NULL(DT_STR,7,1252)
Run Code Online (Sandbox Code Playgroud)

但是,这无法验证 - 我收到以下错误:

PKG出错:对于条件运算符的操作数,仅支持输入列和强制转换操作的数据类型DT_STR.表达式"TRIM(xCOL)==""?(DT_STR,7,1252)xCOL:NULL(DT_STR,7,1252)"有一个DT_STR操作数,它不是输入列或者是强制转换的结果,不能是与条件操作一起使用.要执行此操作,需要使用强制转换运算符显式转换操作数.

这有什么不对?

ssis

3
推荐指数
2
解决办法
654
查看次数

TFS - 删除本地文件后仍显示"是"的最新字段

在TFS源代码管理资源管理器中,我的项目在最新字段中标记为"是",即使我已删除所有本地文件.有没有办法重新评估该列,以便再次显示"未下载"?

tfs visual-studio

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

将不同数量的参数传递给函数

我有一个功能:

def save(self, text, *index): 
    file.write(text + '\nResults:\n')
    if index == (): index = (range(len(self.drinkList)))
    for x in index:
        for y in self.drinkList[x].ing:
            file.write('min: ' + str(y.min) + ' max: ' + str(y.max) + ' value: ' + str(y.perc) + '\n')
        file.write('\n\n')
    file.write('\nPopulation fitness: ' + str(self.calculatePopulationFitness()) + '\n\n----------------------------------------------\n\n')
Run Code Online (Sandbox Code Playgroud)

现在,当我传递一个参数作为索引时,函数按原样运行,但是当我传递2个索引的元组时,我得到一个TypeError:list indices必须是整数,而不是元组.我应该改变什么?

python

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

Oracle触发器 - 有什么价值:当没有任何东西通过时,新的有什

在问题中 - :new当更新完全省略触发器中引用的列时,将采用什么值?

我正在尝试调试一个存储过程,它会在更新时触发一个触发器,它使用一个函数接受:new带有DATE值的字段.但是,我正在运行的更新不会更新引用的列.

触发器是否会使用存储在运行更新的表中的值?还是会从其他地方拿走它?

sql oracle triggers

2
推荐指数
2
解决办法
437
查看次数

Oracle 存储过程 - 我可以为声明块中的变量赋值吗?

我正在 oracle 中编写一个存储过程,我想从一开始就为变量赋值:

CREATE PROCEDURE proc
(
   param1
   , param2
)
AS
   variable1 INT AS SELECT MAX(value) FROM table WHERE field = param1;
BEGIN
...
Run Code Online (Sandbox Code Playgroud)

是否允许或者我应该在可执行块中执行它?

oracle

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

DROP FUNCTION不起作用?

我正在尝试创建一个函数,我已经在数据库中拥有该函数.为了绕过这个我正在使用drop函数,但我仍然继续在数据库中获得'theres already object'的命名'getCost'.可能是什么原因?

查询:

USE DWDB_PROPER;
GO
IF OBJECT_ID (N'dbo.getCost', N'TF') IS NOT NULL
DROP FUNCTION dbo.getCost;
GO
CREATE FUNCTION getCost(@person VARCHAR(10), @month TINYINT, @year SMALLINT, @Category    VARCHAR(20))
RETURNS INT 
AS
BEGIN
--function body here
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008-r2

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