问题列表 - 第7246页

如何有效地删除Postgresql 8.1表中的行?

我正在研究PostgreSQL 8.1 SQL脚本,它需要从表中删除大量行.

假设我需要删除的表是Employees(~260K行).它的主键名为id.

我需要从此表中删除的行存储在一个名为EmployeesToDelete(~10K记录)的单独临时表中,其中包含一个名为employee_id的Employees.id的外键引用.

有没有一种有效的方法来做到这一点?

起初,我想到了以下几点:

DELETE
FROM    Employees
WHERE   id IN
        (
        SELECT  employee_id
        FROM    EmployeesToDelete
        )
Run Code Online (Sandbox Code Playgroud)

但我听说使用"IN"子句和子查询可能效率低下,尤其是对于较大的表.

我查看了PostgreSQL 8.1文档,并提到了DELETE FROM ... USING但它没有示例,所以我不知道如何使用它.

我想知道以下是否有效并且效率更高?

DELETE
FROM    Employees
USING   Employees e
INNER JOIN
        EmployeesToDelete ed
ON      e.id = ed.employee_id
Run Code Online (Sandbox Code Playgroud)

非常感谢您的意见.

编辑:我运行了EXPLAIN ANALYZE,奇怪的是第一个DELETE跑得很快(几秒钟内),而第二个DELETE花了这么长时间(超过20分钟)我最终取消了它.

向临时表添加索引有助于提高性能.

这是对任何感兴趣的人的第一个DELETE的查询计划:

 Hash Join  (cost=184.64..7854.69 rows=256482 width=6) (actual time=54.089..660.788 rows=27295 loops=1)
   Hash Cond: ("outer".id = "inner".employee_id)
   ->  Seq Scan on Employees  (cost=0.00..3822.82 rows=256482 width=10) (actual time=15.218..351.978 rows=256482 loops=1)
   ->  Hash  (cost=184.14..184.14 rows=200 width=4) (actual time=38.807..38.807 rows=10731 loops=1) …
Run Code Online (Sandbox Code Playgroud)

sql database postgresql

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

在回发时,如何向验证摘要添加错误消息?

两个问题:

在用户单击提交时回发时,如何向验证摘要添加错误消息?

是否也可以使用内置的.net验证控件突出显示特定的文本框?

asp.net validation

57
推荐指数
5
解决办法
6万
查看次数

如何在XSLT中应用字母数字排序

基于以下XML,在XSL中实现字母数字排序的最佳方法是什么?

编辑:为了澄清,下面的XML只是一个简单的示例,真正的XML将包含更多的变量值.

<colors>
  <item>
    <label>Yellow 100</label>
  </item>
  <item>
    <label>Blue 12</label>
  </item>
  <item>
    <label>Orange 3</label>
  </item>
  <item>
    <label>Yellow 10</label>
  </item>
  <item>
    <label>Orange 26</label>
  </item>
  <item>
    <label>Blue 117</label>
  </item>
</colors>
Run Code Online (Sandbox Code Playgroud)

我想按此顺序获得最终结果:

Blue 12, Blue 117, Orange 3, Orange 26, Yellow 10, Yellow 100
Run Code Online (Sandbox Code Playgroud)

这是" 有效 "我想要的.

<xsl:apply-templates select="colors/item">
  <xsl:sort select="label" data-type="text" order="ascending"/><!--1st sort-->
  <xsl:sort select="label" data-type="number" order="ascending"/><!--2nd sort-->
</xsl:apply-templates>   

<xsl:template match="item">
  <xsl:value-of select="label"/>
  <xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

sorting xslt alphanumeric

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

.NET的HL7对象模型

搜索将提供对象模型,解析,验证等的库或框架

我们的想法是能够启动hl7 v2或v3类型的新对象.然后可能将其称为消息类型ORU_R01或ADT,或ORM.

如果我们能够做到这样的事情,生活会不会很好:

HL7V2 myMessage = new HL7V2();
myMessage.Type = V2MsgTypes.ORU_R01;
myMessage.TryParse(someHL7_string);

if (myMessage.IsValid)
{
  //do some work
  //maybe access the PID segment
  if (myMessage.Patient.Names.FamilyName =="Johnson")
  {
    //do more work
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# hl7 object-model

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

如何将"〜/ default.aspx"转换为"http://www.website.com/default.aspx"C#?

我知道ASP.NET会自动执行此操作,但出于某种原因,我似乎无法找到该方法.

帮助任何人?正如标题所说.

如果我执行Response.Redirect("〜/ Default.aspx"),它可以工作,但我不想重定向该站点.我只想要完整的URL.

谁能帮我吗?

c# methods

5
推荐指数
3
解决办法
506
查看次数

spring MVC示例Web应用程序

我正在寻找一个示例Spring MVC 2.5 Web应用程序,我可以轻松地:

  • 在Eclipse中设置为项目
  • 部署到本地应用服务器(使用Ant/Maven)

Spring发行版中包含了几个示例应用程序('petclinic'和'jpetstore'),但它们不提供任何Eclipse项目文件(或生成它们的方法).它们对我的需求似乎有点复杂,例如需要设置本地数据库.

java spring sample spring-mvc

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

使用ImageIO创建动画GIF?

有没有人设法说服ImageIO写一个动画GIF,特别是设置正确的元数据?我的第一次尝试大致如下(其中b1和b2是BufferedImages):

ImageTypeSpecifier spec = new ImageTypeSpecifier(b1);
ImageWriter wr = ImageIO.getImageWriters(spec, "GIF").next();
wr.setOutput(ImageIO.createImageOutputStream(new File("C:\\Flashing.gif")));
ImageWriteParam param = wr.getDefaultWriteParam();
IIOMetadata meta = wr.getDefaultImageMetadata(spec, param);
wr.prepareWriteSequence(meta);
wr.writeToSequence(new IIOImage(b1, null, null), param);
wr.writeToSequence(new IIOImage(b2, null, null), param);
Run Code Online (Sandbox Code Playgroud)

这似乎几乎可行,但是:

  • 我显然需要以某种方式设置"适当的"元数据来设置图像之间的时间并理想地使它们循环(我天真地希望默认会做一些明智的事情,但是嘿......)
  • 默认情况下,它所写的任何元数据显然不是很正确:GIMP在加载文件时会给出一些错误消息,尽管在Firefox的测试网页中嵌入图像确实可以非常快速地连续显示这两个图像.接近我想要的......

如果有人从ImageIO编写动画GIF,可以分享工作代码片段或如何解决上述问题,我们将不胜感激!

java animated-gif javax.imageio

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

我可以让git将UTF-16文件识别为文本吗?

我在git中跟踪虚拟PC虚拟机文件(*.vmc),在进行更改后,git将该文件识别为二进制文件并且不会为我进行区分.我发现该文件是用UTF-16编码的.

可以教git识别这个文件是文本并适当处理它吗?

我在Cygwin下使用git,core.autocrlf设置为false.如果需要,我可以在UNIX下使用mSysGit或git.

git unicode diff utf-16 character-encoding

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

c#非线性渐变画笔?

有没有一种方法可以用来在c#中生成非线性渐变画笔?

澄清:我不是在寻找可以应用于非线性路径的渐变.相反,我正在寻找两种颜色之间的渐变,这两种颜色之间以非线性方式逐渐消失,即在渐变开始时变化的速度更快,而在画笔接近结束点时变慢.

使用gdi +在c#中是否可以实现这一点?

c# gdi+

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

为什么假冒进程返回"目录名无效"?

我有一个需要在管理权限下运行的进程.我需要普通的jo来运行这个过程,但是我不想让所有人都访问...所以我创建了一个简单的类,它将以管理员身份运行这个ONE任务,使用模拟.

代码是非常严格的前进,但我无法理解为什么这会崩溃.救命??!!

我通过批处理文件运行它,我甚至将需要执行的文件复制到本地硬盘驱动器,认为这可能是通过网络运行应用程序的权限问题.

    public static Process ImpersonateProcess(string exe, string args, string Username, string Password)
    {
        ProcessStartInfo psi = new ProcessStartInfo(exe);
        psi.Arguments = args;
        psi.UseShellExecute = false;
        psi.UserName = Username;

        psi.Password = new SecureString();

        foreach (char c in Password.ToCharArray())
        {
            psi.Password.AppendChar(c);
        }

        Process proc = null;

        Console.WriteLine("starting...");
        proc = Process.Start(psi);
        Console.WriteLine("started");

        return proc;
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我永远不会"开始".它在Process.Start(psi)中抛出一个错误,并显示"目录名无效"的错误消息.

c# winforms

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