小编444*_*444的帖子

为什么插入查询偶尔需要很长时间才能完成?

这是一个非常简单的问题.将数据插入表中通常可以正常工作,除了插入查询需要几秒钟的几次.(我并不想批量插入数据).所以我设置了插入过程的模拟,找出为什么插入查询偶尔会超过2秒运行.约书亚建议可以调整索引文件; 我删除了id(主键字段),但延迟仍然发生.

我有一个MyISAM表:( daniel_test_insert这个表开始完全为空):

create table if not exists daniel_test_insert ( 
    id int unsigned auto_increment not null, 
    value_str varchar(255) not null default '', 
    value_int int unsigned default 0 not null, 
    primary key (id) 
)
Run Code Online (Sandbox Code Playgroud)

我将数据插入其中,有时插入查询需要> 2秒才能运行. 此表上没有读取 - 只能通过单线程程序串行写入.

我运行完全相同的查询100,000次,以查找查询时间为何需要很长时间.到目前为止,它似乎是随机发生的.

例如,此查询花了4.194秒(插入的时间很长):

Query: INSERT INTO daniel_test_insert SET value_int=12345, value_str='afjdaldjsf aljsdfl ajsdfljadfjalsdj fajd as f' - ran for 4.194 seconds
status               | duration | cpu_user  | cpu_system | context_voluntary | context_involuntary | page_faults_minor
starting             | 0.000042 …
Run Code Online (Sandbox Code Playgroud)

mysql sql performance query-cache

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

使用纯Javascript将事件绑定到元素

我正在编写API,不幸的是需要避免任何jQuery或第三方库.事件究竟是如何通过jQuery绑定到元素的?

jQuery示例:

$('#anchor').click(function(){
    console.log('anchor');
});
Run Code Online (Sandbox Code Playgroud)

我很沮丧地在元素上编写onClick属性,但我想理解jQuery事件和DOM元素之间的联系.

当标记本身没有改变时,元素知道如何知道触发jQuery事件?他们如何捕获DOM事件并覆盖它?

我已经创建了自己的Observer处理程序,但是不能理解如何将元素链接到Observer事件.

javascript events click

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

使用Null值更新列

我尝试更新表格如下:

update userloginstats set logouttime = sysdate where logouttime = null;
Run Code Online (Sandbox Code Playgroud)

它没有使用空值更新列.什么地方出了错?

sql oracle null sql-update

26
推荐指数
4
解决办法
8万
查看次数

如何在编译时自动区分短和长?

我很高兴auto在我的C++程序中使用变量.我知道auto使用模板规则声明的变量来推导变量类型,但我对数字类型的工作原理感到困惑.假设我有:

auto foo = 12;
Run Code Online (Sandbox Code Playgroud)

类型foo可以合理地int或甚至是unsigned char.但是假设在我的程序中稍后我会做一些数学并给foo赋值40亿.那时,我想foo成为一个类型unsigned int或者也许long.

编译器如何预测将在程序中稍后分配的值?

c++ auto c++11

22
推荐指数
4
解决办法
4432
查看次数

更改dfs文件的块大小

在解析一组特定文件(总共2 TB)时,我的地图目前效率很低.我想更改Hadoop dfs中文件的块大小(从64MB到128 MB).我只能在文档中找到如何在一组文件而不是整个集群中执行此操作.

我上传时哪个命令会更改块大小?(例如从本地复制到dfs.)

hadoop

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

Process.Kill()访问被拒绝

当我运行以下代码时,将拒绝访问拒绝的Win32Exception.我无法通过搜索找到任何解决方案.我该如何解决?

foreach (ListViewItem list in showprocesses.SelectedItems)
{
    Process p = System.Diagnostics.Process.GetProcessById(Convert.ToInt32(list.Tag));
    if (p != null)
        p.Kill();
}
Run Code Online (Sandbox Code Playgroud)

.net c# kill process

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

调用批处理文件后,服​​务在WaitForExit处挂起

我有一个服务有时会调用批处理文件.批处理文件需要5-10秒才能执行:

System.Diagnostics.Process proc = new System.Diagnostics.Process(); // Declare New Process
    proc.StartInfo.FileName = fileName;
    proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    proc.StartInfo.CreateNoWindow = true;
    proc.Start();
    proc.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

当我在控制台中运行相同的代码时,该文件确实存在并且代码可以正常工作.然而,当它在服务内部运行时,它会挂起WaitForExit().我必须从Process中删除批处理文件才能继续.(我确定该文件存在,因为我可以在进程列表中看到它.)

我该如何修复这个挂断?

更新#1:

凯文的代码允许我获得输出.我的一个批处理文件仍然挂起.

"C:\ EnterpriseDB\Postgres\8.3\bin\pg_dump.exe"-i -h localhost -p 5432 -U postgres -F p -a -D -v -f"c:\ backupcasecocher\backupdateevent2008.sql"-t "\"public \".\"dateevent \"""DbTest"

另一个批处理文件是:

"C:\ EnterpriseDB\Postgres\8.3\bin\vacuumdb.exe"-U postgres -d DbTest

我检查了路径,postgresql路径很好.输出目录确实存在,仍然可以在服务外部运行.有任何想法吗?

更新#2:

而不是批处理文件的路径,我写了"C:\ EnterpriseDB\Postgres\8.3\bin\pg_dump.exe"并为其proc.StartInfo.FileName添加了所有参数proc.StartInfo.Arguments.结果没有变化,但我pg_dump.exe在进程窗口中看到了.同样,这只发生在服务中.

更新#3:

我已经与管理员组中的用户一起运行该服务,但无济于事.我恢复null了服务的用户名和密码

更新#4:

我创建了一个简单的服务来在事件日志中编写跟踪并执行包含"dir"的批处理文件.它现在将挂起proc.Start();- 我尝试将帐户从LocalSystem更改为User,我设置了admnistrator用户和密码,仍然没有.

.net c# service windows-services

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

过滤字符串列表,忽略其他项的子字符串

如何筛选包含字符串和子字符串的列表以仅返回最长的字符串.(如果列表中的任何项是另一项的子字符串,则只返回较长的字符串.)

我有这个功能.有更快的方法吗?

def filterSublist(lst):
    uniq = lst
    for elem in lst:
        uniq = [x for x in uniq if (x == elem) or (x not in elem)]
    return uniq

lst = ["a", "abc", "b", "d", "xy", "xyz"]
print filterSublist(lst)

> ['abc', 'd', 'xyz']
> Function time: 0.000011
Run Code Online (Sandbox Code Playgroud)

python string algorithm

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

关闭网页上的对话窗口

我需要在别人的网页内触发一些动作.到目前为止我有这个代码:

IHTMLElementCollection DeleteCollection = 
    (IHTMLElementCollection)myDoc.getElementsByTagName("a");

foreach (HTMLAnchorElement buttonDelete in DeleteCollection){
    if (buttonDelete.title != null && buttonDelete.title.StartsWith("Delete")){
        buttonDelete.click();
            // problem goes here
        myDoc.activeElement.click(); 
        SendKeys.Send("{ENTER}");
    }
}
Run Code Online (Sandbox Code Playgroud)

弹出此对话框:

在此输入图像描述

我尝试了myDoc.activeElement.click();,SendKeys.Send("{ENTER}");但对话框似乎不在页面中,所以我不知道如何触发OK按钮.我该如何关闭窗户?

html javascript c# webpage dom

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

超出运营费率ChangeResourceRecordSets

我试图删除Route 53控制台(Web界面)中的记录集,但得到此错误:

超出运营费率ChangeResourceRecordSets

我尝试通过API删除记录集,但我得到了同样的错误.我超过了哪个限制?

limits amazon-route53

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