小编ret*_*eto的帖子

不存在而不是存在

哪个查询更快?

不存在:

SELECT ProductID, ProductName 
FROM Northwind..Products p
WHERE NOT EXISTS (
    SELECT 1 
    FROM Northwind..[Order Details] od 
    WHERE p.ProductId = od.ProductId)
Run Code Online (Sandbox Code Playgroud)

或者不是:

SELECT ProductID, ProductName 
FROM Northwind..Products p
WHERE p.ProductID NOT IN (
    SELECT ProductID 
    FROM Northwind..[Order Details])
Run Code Online (Sandbox Code Playgroud)

查询执行计划表明他们都做同样的事情.如果是这种情况,这是推荐的形式?

这基于NorthWind数据库.

[编辑]

刚刚找到这篇有用的文章:http: //weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx

我想我会坚持使用NOT EXISTS.

sql sql-server notin

507
推荐指数
9
解决办法
138万
查看次数

以编程方式设置java.awt.headless = true

我正在尝试java.awt.headless=true在应用程序启动期间设置,但看起来我已经太晚了,非无头模式已经开始:

static {
    System.setProperty("java.awt.headless", "true");
    /* java.awt.GraphicsEnvironment.isHeadless() returns false */
}
Run Code Online (Sandbox Code Playgroud)

除此之外还有另一种无头的方式-Djava.awt.headless=true吗?我不想在控制台上配置任何东西.

java awt headless

33
推荐指数
3
解决办法
6万
查看次数

比较Class对象

我必须将一个Class对象与一个预定义的类列表进行比较.

使用安全==还是应该使用equals

if        (klass == KlassA.class) {
} else if (klass == KlassB.class) {
} else if (klass == KlassC.class) {
} else {
}
Run Code Online (Sandbox Code Playgroud)

注意:我不能使用instanceof,我没有对象,我只是拥有该Class对象.我(错误)在这种情况下使用它就像一个枚举!

java

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

缩进XML文件的重要性

是否有必要在XML文件中缩进XML标记以成功解析文件?

xml

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

Oracle时间戳:提取整整一小时

我需要提取时间戳的"完整"小时.喜欢2010.03.04 13:13我想要2010.03.04 13:00(再次作为时间戳).

我目前的做法是:

TO_TIMESTAMP(TO_CHAR(m.begin, 'yyyy.mm.dd hh24'), 'yyyy.mm.dd hh24')
Run Code Online (Sandbox Code Playgroud)

这真的是要走的路吗?它表现出好/坏(我计划对其进行GROUP BY).

感谢您的输入!

干杯,雷托

sql oracle timestamp

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

部分构造的对象/多线程

由于它在多线程方面的良好声誉,我使用的是joda.通过使所有Date/Time/DateTime对象不可变,可以使多线程日期处理变得高效.

但在这种情况下,我不确定Joda是否真的做得对.它可能会,但我很有兴趣看到一个解释.

当调用DateTime的toString()时,Joda会执行以下操作:

/* org.joda.time.base.AbstractInstant */
public String toString() {
    return ISODateTimeFormat.dateTime().print(this);
}
Run Code Online (Sandbox Code Playgroud)

所有格式化程序都是线程安全的(它们也是不可变的),但是有关formatter-factory的内容:

private static DateTimeFormatter dt;

/*  org.joda.time.format.ISODateTimeFormat */
public static DateTimeFormatter dateTime() {
    if (dt == null) {
        dt = new DateTimeFormatterBuilder()
            .append(date())
            .append(tTime())
            .toFormatter();
    }
    return dt;
}
Run Code Online (Sandbox Code Playgroud)

这是单线程应用程序中的常见模式,但已知它在多线程环境中容易出错.

我看到以下危险:

  • 空检查期间的竞争条件 - >最坏情况:创建两个对象.

没有问题,因为这只是一个辅助对象(与正常的单例模式情况不同),一个被保存在dt中,另一个被丢失并且迟早会被垃圾收集.

  • 在objec完成初始化之前,静态变量可能指向部分构造的对象

(在叫我疯了之前,请阅读本维基百科文章中的类似情况.)

那么Joda如何确保在这个静态变量中没有发布部分创建的格式化程序?

谢谢你的解释!

雷托

java multithreading jodatime

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

war文件中的可执行文件

作为应用程序之战的一部分,我们想发布一些帮助脚本(shell脚本).不幸的是,我们的构建系统(maven)似乎丢弃了所有文件的权限,并且脚本最终没有设置可执行位.

甚至可以这样做吗?.war格式是否支持可执行文件?如果是的话:怎么能告诉maven在这个过程中保留权限/修复它们?

java web-applications war java-ee

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

在这种情况下使用分区是个好主意吗?

上下文:Oracle 10数据库.

在一个相当大的表(几百万条记录)中,我们最近开始看到一些性能问题.该表有一些特殊的行为/条件.

  • 它主要是写一次然后再也不会改变
  • 在第一天左右,记录从0..N分类(让我们称之为列类).记录可能会在第一天内重新分类几次
  • 新的条目添加了0级,意思是"尚未归类"
  • 每小时左右,一个进程对新的reocrds进行分类,并从1..N给它们一个新的类
  • 所有读者只对1级感兴趣
  • 所有超过一天的记录都不会改变他们的班级,> 1在几天之后就会被清理干净

现在,由于大多数访问是对类1进行的,因此该列通常与其他条件一起涉及查询(class = 1).我们在类列上有一个索引,然后在某些其他列上有索引.

对于我的问题:我们现在正在考虑按类对该表进行分区.据我所知,这将使索引/处理数据更快,因为class = 1已经与其余数据分开,因此对它的访问隐含更高效.它是否正确?

如果您同意这是一个好主意,我会进一步阅读该主题!

谢谢干杯

更新2010.11.30

非常感谢您的投入.我不知道它是一个额外的选项:)感谢指出(在我投入太多时间之前).但除了许可证问题之外,在我看来,分区在这种情况下不一定是一个好的解决方案.

oracle performance database-design oracle10g

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

锁定MySQL中的多行(InnoDB)

要在MySQL中锁定两行,我应该使用:

SELECT * FROM <table> WHERE id=? OR id=? FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)

要么:

SELECT * FROM <table> WHERE id=? AND id=? FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)

我显然是在交易中,只是不确定它是否应该ANDOR

mysql sql innodb

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

Makefile - 构建所有可能的目标

我想使用makefile将一组svgs转换为pngs.以下代码段显示了我到目前为止所做的工作.

%.png: origs/%.svg
    convert -resize "32x" $< $@
Run Code Online (Sandbox Code Playgroud)

make foo.png现在有效.但我坚持所有目标.我想用一个命令转换所有东西(所有的svgs).

在所有的例子中,我发现所有目标都是这样的:

all: ${OBJECTS}
Run Code Online (Sandbox Code Playgroud)

但我确信我的案子有一个更简单的方法,请帮助我找到它!:d

makefile

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

将javascript应用于我们应用css的页面......不是很好吗?

我只是想到能够应用javascript代码就像你可以应用css一样非常好.

想象一下:

/* app.jss */
div.closeable : click {
  this.remove();
}

table.highlightable td : hover {
  previewPane.showDetailsFor(this);
}

form.protectform : submit { }
links.facebox : click {} 
form.remote : submit {
   postItUsingAjax()... }
Run Code Online (Sandbox Code Playgroud)

我相信有更好的例子.

你可以在dom上做类似的东西:loadad - > $$(foo.bar).onClick(但这只适用于dom:loadad中存在的元素)......等等.但是拥有一个jss文件真的很酷.

嗯,这必须是一个问题,而不是一个问题...所以我的问题是:有类似的东西吗?

Appendum

我知道Jquery和prototype允许用$$做类似的事情和方便的帮助来捕获事件.但我有时不喜欢这个变体是处理程序只安装到网站首次加载时已存在的元素上.

javascript

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

选择两个p元素之间的所有元素

我正在寻找一种很好的方法来标记/选择两个选定元素之间的所有元素.

想像

<parent>
  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>
</parent>
Run Code Online (Sandbox Code Playgroud)

父级上有一个点击处理程序.用户现在可以在此列表中选择两个p元素,然后中间的所有p元素都应该被"激活".

我正在考虑一个类似的系统:

  1. 首先点击:标记/记住第一个元素 - > A.
  2. 第二次点击:标记/记住第二个元素 - > B.
  3. 确定A是否在B之前
  4. 做A.nextUntil(B)(除非B在A之前)

我不知道如何做3,期待蛮力方法(在两个方向迭代,看看它是否存在)

  • dom是否在内部知道哪个元素出现在另一个元素之前?
  • 有没有更好的想法?

关于我的情况:父母可能包含几千个p.

感谢您的帮助/想法!

雷托

javascript jquery dom jquery-selectors

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

当数据存储在哈希中时,排序会丢失

我从数据库中取出并根据位置对其进行了分类.然后我把必要的数据放入哈希.将数据放入哈希后,我打印了哈希.但结果是相反的顺序.所以我想要反转哈希.我怎样才能做到这一点?

ruby ruby-on-rails ruby-on-rails-3

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