我们正在处理Oracle项目中一个非常慢的更新语句.
这是一个重写问题的小脚本:
drop table j_test;
CREATE TABLE J_TEST
(
ID NUMBER(10) PRIMARY KEY,
C1 VARCHAR2(50 BYTE),
C2 VARCHAR2(250 BYTE),
C3 NUMBER(5),
C4 NUMBER(10)
);
-- just insert a bunch of rows
insert into j_test (id)
select rownum
from <dummy_table>
where rownum < 100000;
-- this is the statement that runs forever (longer than my patience allows)
update j_test
set C3 = 1,
C1 = 'NEU';
Run Code Online (Sandbox Code Playgroud)
在某些环境中,Update-Statement只需要大约20秒,其中一些语句运行几分钟.使用更多行时,问题会变得更糟.
我们不知道是什么导致了这种行为,并希望在提出解决方案之前了解正在发生的事情.
有什么想法和建议吗?谢谢托尔斯滕
我正在为PHP应用程序实现Web服务,并试图了解标准Web服务和RESTful Web服务所提供的内容.我的目的是编写包装器代码来抽象出Web服务的详细信息,以便开发人员可以"实例化远程对象"并使用它们.以下是我的想法,或许你们中的一些人可以添加你的经验并扩展这个:
RESTful Web服务
基本上只是"按需提供XML源",因此您可以为客户端应用程序编写包装器代码,以便它可以通过以下方式查询服务器应用程序:
$users = Users::getUsers("state = 'CO'");
Run Code Online (Sandbox Code Playgroud)
RESTful Web服务通常只能从客户端的视图中读取,尽管您可以编写可以使用POST或GET在服务器上进行更改的代码,例如传递加密令牌以确保安全性,例如:
$ users = Users :: addUser($ encryptedTrustToken,'jim',$ encryptedPassword,'James','Taylor');
这将在服务器应用程序上创建一个新用户.
标准Web服务
标准Web服务最终基本上做同样的事情.他们的一个优势是客户可以通过WSDL发现他们的细节.但除此之外,如果我想编写允许开发人员远程实例化,编辑和保存对象的包装代码,我仍然需要实现包装器代码.SOAP不会为我做任何事情,它可以做到这一点:
$soap = new nusoap_client('http://localhost/test/webservice_user.php?wsdl', true);
$user = $soap->getProxy();
$lastName = $user->lastName();
Run Code Online (Sandbox Code Playgroud)
但如果我想编辑并保存:
$user->setLastName('Jones');
$user->save();
Run Code Online (Sandbox Code Playgroud)
然后我需要例如处理服务器端的所有状态,SOAP似乎并不在每个客户端的服务器端保存该对象.
也许我正在使用的PHP SOAP实现存在限制(nusoap).也许Java和.NET实现可以做得更多.
将享受听取您的反馈意见,以清理其中的一些云.
令我惊讶的是,Apache Commons Collections项目仍然没有让他们的图书馆通用识别.我非常喜欢这个库提供的功能,但缺乏对泛型的支持是一个很大的转变.Commons Collections的Lavalabs分支支持泛型,它似乎声称向后兼容,但当我尝试更新到这个版本时,我的Web应用程序无法启动(在JBoss中).
我的问题是:
顺便说一句,我知道谷歌的收藏品,但在API稳定之前我不愿意使用它.
干杯,唐
java collections upgrade apache-commons binary-compatibility
为什么Perl会泄漏?
$ perl -MDevel::LeakTrace::Fast -e 'our @a=(1);our @b=(1)'
leaked SV(0x0x84e053c) from -e line 1
$ perl -v
This is perl, v5.8.0 built for i386-linux-thread-multi
[...]
$ uname -a
Linux ant1 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT 2004 i686 i686 i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
谢谢!
我确实犯了一个愚蠢的错误,但我无法弄清楚:
在SQL Server 2005中,我尝试选择所有客户,除了那些在凌晨2点之前预订的客户.
当我运行此查询时:
SELECT idCustomer FROM reservations
WHERE idCustomer NOT IN
(SELECT distinct idCustomer FROM reservations
WHERE DATEPART ( hour, insertDate) < 2)
Run Code Online (Sandbox Code Playgroud)
我得到0结果.
但
SELECT idCustomer FROM reservations
Run Code Online (Sandbox Code Playgroud)
返回152.000结果和"NOT IN"部分:
SELECT distinct idCustomer FROM reservations
WHERE DATEPART ( hour, insertDate) < 2
Run Code Online (Sandbox Code Playgroud)
仅返回284行
很多次我看到记录这样的错误:
System.out.println("Method aMethod with parameters a:"+a+" b: "+b);
print("Error in line 88");
Run Code Online (Sandbox Code Playgroud)
那么..记录错误的最佳做法是什么?
编辑:
这是java但可能是C/C++,基本等.
我想将具有特定文件扩展名的文件复制到新文件夹.我知道如何使用os.walk但具体如何使用它?我只在一个文件夹中搜索具有特定文件扩展名的文件(此文件夹有2个子目录,但我在寻找的文件永远不会在这两个子目录中找到,所以我不需要在这些子目录中搜索) .提前致谢.
在标准PrintDialog中,有四个与选定打印机关联的值:状态,类型,位置和注释.
如果我知道打印机的名称,我怎样才能在C#2.0中获得这些值?
我们有一个客户端(有一个客户端,有一个客户端)让我们对代码库的更改请求感到厌烦(在PHP中).我们的第一个响应是在SVN的主干中工作,但客户端经常回来并请求某个更改需要尽快推送到实时服务器.另一方面,其他变化突然降低了优先级,最初与其他变化(看似)组合在一起.
我们正在考虑为每个变更请求使用分支.这疯了吗?还有哪些其他解决方案?
谢谢!
编辑:这是一个非常难以选择正确答案的问题.感谢大家的回答.
编辑:我知道我选择的最佳答案并不是特别受欢迎.我也想找到解决这个问题的技术方案.但是现在我认为如果客户想要的软件具有可以以模块化方式部署的功能...... 在我们使用版本控制系统时不应该解决这个问题.它必须被设计到软件中.
编辑:现在已经差不多一个月了,我的同事/客户已经说服了我,多个分支是要走的路.这不仅仅是因为客户的精神错乱,而且还基于我们需要能够确定某个功能是"准备就绪"还是"需要更多工作"等等.我没有SVN和我在一起,但我们合并中使用来自SVN食谱的建议:在合并分支从它被分流至头文件的修订版本.
此外,使用此系统,我们在某个时刻合并所有分支,这将成为新的QA,然后是实时构建.然后我们从那里开始.
最后编辑(也许):几个月后,这个系统仍在为我们工作.我们为每张票创建分支,很少遇到问题.另一方面,我们确实试图将事情分开,就像人们在做什么一样......
两年后:我们现在使用GIT,现在这个系统实际上非常合理.
我查看了在交互式窗口中绘制函数(或其他类型的图形)的不同选项.我主要使用wxWidgets,但我会对任何其他"接口"开放.
wxPlot:自2006年以来没有更新.但如果它是......那将是一个很好的候选人.
wxMathPlot:很新,不成熟,功能很少(仍然有效?)
libgraph:过时,不反弹,仅2D,仅输出图像.
koolplot:太基本了,无法控制创建的窗口.
EasyBMP:非常基本,只有图像输出.
plotutils:仅限命令行.
plplot:C和C++ API几乎没有维护.事实上,wxPlot就是基于此.如果我们更新了C和C++接口,也可能成为候选者.
任何意见?想法?
谢谢!