小编use*_*116的帖子

在SQL Server上使用varchar(MAX)vs TEXT

我刚刚读到VARCHAR(MAX)数据类型(可以存储接近2GB的char数据)是TEXTSQL Server 2005和Next SQL SERVER版本中数据类型的推荐替代品.

如果我想在列中搜索任何字符串,哪个操作更快?

  1. LIKEVARCHAR(MAX)列使用该子句?

    WHERE COL1 LIKE '%search string%'

  2. 使用该TEXT列并在此列上放置全文索引/目录,然后使用该CONTAINS子句进行搜索?

    WHERE CONTAINS (Col1, 'MyToken')

sql-server performance varchar text sql-types

186
推荐指数
5
解决办法
19万
查看次数

Mercurial"服务器"

我一直在使用Mercurial,但主要是供我自己使用.现在,我有一个项目,我正在努力建立同一个项目,我们可能会修改彼此的文件.

我想在服务器上设置Mercurial存储库,使该存储库成为"服务器",因此我的更改和其他编辑器的更改都推送到该服务器(所以基本上是Subversion/CVS模型); 我喜欢Mercurial但不想切换到像Subversion这样的东西.

在我自己的网络中,一切都在Linux上完成,我的"服务器" 安装了OpenSSH.因此,将我的更改(我在多台计算机上工作)从一台计算机推送到服务器只是"hg push"的问题; 使用的协议是SSH以传输更改.

问题是我使用Linux,服务器将是Windows(所以没有OpenSSH,对吧?)而另一个编辑器也将使用Windows.据我所知,在这些类型的设置中使用Mercurial的最佳方式是存储库从源中提取更改,而不是将源推送到"服务器".我落后于几个防火墙(不完全是我的网络),我的计算机将无法从服务器上看到,我假设其他编辑器也将在防火墙后面(所以我们不能只启动本地Mercurial HTTP服务器并从中获取"服务器"计算机).

对于两位编辑来说,更改服务器存储库的最佳方法是什么?(我应该补充一点,服务器是因特网上的服务器,因此它就像是一样可见google.com.它是托管的Windows服务器,但如果需要,我可能有权安装软件.)

version-control mercurial

73
推荐指数
8
解决办法
3万
查看次数

使用嵌套查询更新语句

我有一张桌子:

mytable:
    id
    userID
    logDate
    lastLogDate
Run Code Online (Sandbox Code Playgroud)

对于该表中的每一行,我想将'lastLogDate'列更新为每个用户的logDate的最大值...

从概念上讲,每个用户都应该有一个lastLogDate =返回的值:

select max(logDate) from mytable group by userID
Run Code Online (Sandbox Code Playgroud)

有人可以帮我写那个更新声明吗?

sql

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

tomcat自动启动servlet

我有一个标准的GWT应用程序,它当然在后端使用Java servlet.此servlet部署在Tomcat和Windows Server上.

我知道它违反了规则/建议,但我在这个servlet中有一个线程,它在servlet初始化时启动(servlet的"init"方法).该线程是各种调度程序,其目的是在某些时间执行不同的数据库任务,完全独立于GWT应用程序/接口本身.

我需要的是在部署战争后立即调用servlet的"init"方法.现在我一直在做的是,每当升级到应用程序时,我就把战争放到正确的目录中,然后我必须"登录"到应用程序GWT应用程序,以便调用它的"init"方法.我希望在战争更新后立即调用servlet的init方法,这样我就不必登录GWT应用程序来执行此操作.

有任何想法吗?

tomcat

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

SQL Server; TEXT列上的索引

我有一个包含多个列的数据库表; 其中大多数是VARCHAR(x)类型列,其中一些列有一个索引,以便我可以快速搜索其中的数据.

但是,其中一列是一TEXT列,因为它包含非常大量的数据(23 kb的普通ascii文本等).我希望能够在该列(... WHERE col1 LIKE '%search string%'...)中进行搜索,但目前正在执行查询.我知道由于这个列搜索,查询很慢,因为当我从WHERE子句中删除该条件时,查询就会立即完成(我会考虑).

我无法在此列上添加索引,因为该选项在SQL Server Management Studio的索引构建器/向导中对该列显示为灰色.

我有什么选择,加快该列中的查询搜索?

谢谢你的时间...

更新
确定,所以我查看了全文搜索并完成了所有这些工作,现在我想运行查询.但是,当使用"包含"时,它只接受一个单词; 如果我需要一个确切的短语怎么办?... WHERE CONTAINS (col1, 'search phrase') ...抛出错误.

对不起,我是SQL Server的新手

更新2 对不起,刚想通了; 使用多个"contains"子句而不是一个包含多个单词的子句.实际上,这仍然没有得到我想要的(确切的短语)它只能确保短语中的所有单词都存在.

sql-server indexing

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

scala相当于java公共字段

在java中,我有一个这样的类:

public class MyClass extends Properties {
    public StringProperty prop1 = new StringProperty(this, "default value for prop1");  
    public StringProperty prop2 = new StringProperty(this, "prop2 default val");
}//MyClass
Run Code Online (Sandbox Code Playgroud)

父类"Properties"使用反射来查找自身中的所有公共字段,并根据需要使用值填充变量.

我如何在scala中扩展属性?使用var prop1:StringProperty ...不起作用,我假设由于scala如何将私有字段转换为... set ...类型方法.

scala field public

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

是否可以在重写方法中使用专门的参数?

假设我有一个名为"shape"的抽象父类,并且有多个子类(三角形,正方形,圆形......).我想在父"shape"类中定义一个抽象方法,所有子类都必须实现,我们称之为"draw".因此,所有形状子类都必须提供"draw()"方法.但是,draw方法采用"Stencil"类型的参数,并不是每个形状子类都可以使用任何模板......

因此,有一个抽象的"形状"类,多个形状子类和多个模板.我需要在shape类中定义一个draw方法.正方形可能使用Stencil1,圆圈可能使用Stencil2.

我猜这些泛型可以解决问题,但我不确定.每个形状子类都需要使用特定的模板定义draw方法,因为这些类也被其他类使用,编译器应该强制所有程序员使用该类支持的模板调用draw方法.我们不能定义像"public abstract void draw(Stencil s)"这样的抽象方法,因为那时程序员可以将任何模板传递给square类,而square类只支持"Stencil1"

有任何想法吗?

Update1: 应该补充一下,shape类不关心子类使用哪个模板,但由于子类也在其他类中使用,因此定义draw方法以便编译器只接受支持的模板是很重要的. .

java abstract-class overriding

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

java正则表达式

我正在寻找一个reg表达式,其含义与linux/windows命令行中的"*"运算符完全相同.例如,查找所有文件:以0或更多随机字符开头,中间包含"abc",以0或更多随机字符结束.

Java中就是这样的:

if (test.match("*abc*"))
    System.out.println("found match");
Run Code Online (Sandbox Code Playgroud)

java regex

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