我正在HSQLDB服务器上执行一些测试,其中包含一个包含500 000个条目的表.该表没有索引.有5000个不同的业务键.我需要一份清单.当然,我开始DISTINCT查询:
SELECT DISTINCT business_key FROM memory WHERE
concept <> 'case' or
attrib <> 'status' or
value <> 'closed'
Run Code Online (Sandbox Code Playgroud)
大约需要90秒!
然后我尝试使用GROUP BY:
SELECT business_key FROM memory WHERE
concept <> 'case' or
attrib <> 'status' or
value <> 'closed'
GROUP BY business_key
Run Code Online (Sandbox Code Playgroud)
它需要1秒!!!
试图找出我运行的差异,EXLAIN PLAN FOR但它似乎为两个查询提供相同的信息.
EXLAIN PLAN FOR DISTINCT ...
isAggregated=[false]
columns=[
COLUMN: PUBLIC.MEMORY.BUSINESS_KEY
]
[range variable 1
join type=INNER
table=MEMORY
alias=M
access=FULL SCAN
condition = [ index=SYS_IDX_SYS_PK_10057_10058
other condition=[
OR arg_left=[ …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Web应用程序,我希望允许用户将数据推送到自己的Google电子表格中.
首先,我尝试使用Google API Client Library for JavaScript,但它似乎不包括Spreadsheet API(https://developers.google.com/apis-explorer/#p/).
然后我决定直接使用Google Spreadsheets API 3.0版.我设法使用jQuery和检索用户的电子表格JSONP:
$.ajax({
url: 'https://spreadsheets.google.com/feeds/spreadsheets/private/full?alt=json-in-script&access_token=' + access_token,
dataType: 'JSONP',
success: function(data){
// use the spreadsheets
}
});
Run Code Online (Sandbox Code Playgroud)
在同一方法中,我从用户选择的电子表格中检索工作表.然后我必须POST将数据发送到选定的表格.这就出现了问题:无法使用它JSONP.谷歌服务器似乎不支持CORS.我在浏览器中收到以下错误:
XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.
感谢您查看这个.
我正在用PHP开发一个简单的websocket服务器.我知道有很多现有的实现,但我想自己做,以便更好地学习协议.我设法做握手罚款,我的客户连接到服务器.我还设法解码来自客户端的数据,但我发送回消息时遇到问题.客户端收到我的响应后会断开连接.Firefox说The connection to ws://localhost:12345/ was interrupted while the page was loading..
我用这个答案作为指导.
这是我的数据包装代码:
private function wrap($msg = ""){
$length = strlen($msg);
$this->log("wrapping (" . $length . " bytes): " . $msg);
$bytesFormatted = chr(129);
if($length <= 125){
$bytesFormatted .= chr($length);
} else if($length >= 126 && $length <= 65535) {
$bytesFormatted .= chr(126);
$bytesFormatted .= chr(( $length >> 8 ) & 255);
$bytesFormatted .= chr(( $length ) & 255);
} else {
$bytesFormatted .= chr(127);
$bytesFormatted …Run Code Online (Sandbox Code Playgroud) 是否有扩展或Firebug功能,它会告诉我发出HTTP请求的确切行和文件?
在Firebug中,"网络"选项卡显示HTTP标头,但不显示触发请求的行."控制台"选项卡将报告包含错误代码及其预期URL的请求,但不再使用CSS,JavaScript或HTML文件中的请求行.

提前致谢.
编辑:一种可能的使用情况是能够在返回404浏览器的图像请求快速查看-请求被启动了的文件(有可能是几个CSS文件)和线.
我需要代表登录到我的系统的用户执行 GAS 服务。所以我有她/他的访问令牌。我希望以某种方式将令牌传输到网络应用程序,而不必再次授权用户将其用于某些活动。这能实现吗?谢谢。
编辑:我认为我没有正确解释我想要完成的任务。这是我尝试实现的工作流程:
谢谢
我尝试编译我的应用程序,它具有 CefSharp 作为依赖项。面向 x86 时一切正常,但对于 x64,我收到以下错误:
System.BadImageFormatException: 'Could not load file or assembly 'CefSharp, Version=67.0.0.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' or one of its dependencies. An attempt was made to load a program with an incorrect format.'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢。
这是我在 VS 2017 中的配置设置的屏幕截图,
和项目属性的构建选项卡:
我实际上有两个相关的问题:
<injar file="${build}/myjar.jar" />吗?非常感谢.
马丁
我知道ETS表的查找时间是不变的.但是我也听说过这个表保存在进程之外,当检索数据时,它需要移动到进程堆.所以,这很贵.但是,如何解释这个:
18> {Time, [[{ok, Binary}]]} = timer:tc(ets, match, [utilo, {a, '$1'}]).
{0,
[[{ok,<<255,216,255,225,63,254,69,120,105,102,0,0,73,
73,42,0,8,0,0,0,10,0,14,...>>}]]}
19> size(Binary).
1759017
Run Code Online (Sandbox Code Playgroud)
1.7 MB二进制文件从表中检索0次!?
编辑:在我看到Odobenus Rosmarus的答案后,我决定将二进制文件转换为列表.结果如下:
1> {ok, B} = file:read_file("IMG_2171.JPG").
{ok,<<255,216,255,225,63,254,69,120,105,102,0,0,73,73,42,
0,8,0,0,0,10,0,14,1,2,0,32,...>>}
2> size(B).
1986392
3> L = binary_to_list(B).
[255,216,255,225,63,254,69,120,105,102,0,0,73,73,42,0,8,0,0,
0,10,0,14,1,2,0,32,0,0|...]
4> length(L).
1986392
5> ets:insert(utilo, {a, L}).
true
6> timer:tc(ets, match, [utilo, {a, '$1'}]).
{106000,
[[[255,216,255,225,63,254,69,120,105,102,0,0,73,73,42,0,8,0,
0,0,10,0,14,1,2|...]]]}
Run Code Online (Sandbox Code Playgroud)
现在需要106000 微秒list从表中检索1986392很长,不是吗?列表是每个元素2个单词.因此数据为4x1.7MB.
编辑2:我在erlang-question(http://groups.google.com/group/erlang-programming/browse_thread/thread/5581a8b5b27d4fe1)上开始了一个主题,事实证明0.1秒几乎是需要花费的时间memcpy()(将数据移动到进程的堆中).另一方面,Odobenus Rosmarus的答案解释了为什么检索二进制需要0次.
我想将本地时间作为字符串返回,但前导零.我试过这个:
{{Year, Month, Day}, {Hour, Minute, Second}} = erlang:localtime().
DateAsString = io_lib:format("~2.10.0B~2.10.0B~4.10.0B~2.10.0B~2.10.0B~2.10.0B",
[Month, Day, Year, Hour, Minute, Second]).
Run Code Online (Sandbox Code Playgroud)
但是如果某些组件是一位数,则返回的字符串是:
[["0",57],"29","2011","17","33","34"]
Run Code Online (Sandbox Code Playgroud)
当前月份9打印为["0",57].
请帮忙.
谢谢.
我的记录定义为:
1> rd(fact, {a,b,c}).
fact
Run Code Online (Sandbox Code Playgroud)
我创建了三个记录并将它们放在一个列表中
2> F1 = #fact{a=1,b=1,c=1}.
#fact{a = 1,b = 1,c = 1}
(3> F2 = #fact{a=2,b=2,c=2}.
#fact{a = 2,b = 2,c = 2}
3> F3 = #fact{a=3,b=3,c=3}.
#fact{a = 3,b = 3,c = 3}
4> L = [F1,F2,F3].
[#fact{a = 1,b = 1,c = 1},
#fact{a = 2,b = 2,c = 2},
#fact{a = 3,b = 3,c = 3}]
Run Code Online (Sandbox Code Playgroud)
现在,我想检查列表是否包含"a"为1的记录,我不关心其余的字段
(dilbert@Martin-PC)21> lists:member(#fact{a=1}, L).
false
(dilbert@Martin-PC)23> lists:member(#fact{a=1,b=1,c=1}, L).
true
Run Code Online (Sandbox Code Playgroud)
我怎么能完成它?
作为对POST的响应,服务器返回非常简单的JSON对象,该对象可以指示上载的成功或失败.
JSON对象可以是{config_version:N}以指示成功,也可以是{exception:Reason}来指示失败.
我按以下方式处理响应:
json = objHTTP.responseText
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
Set o = sc.Eval("(" + json + ")")
On Error GoTo Exception:
' try to use config_version property
Util.SetConfigData "version", o.config_version
Exit Function
Exception:
If o.Exception = "config_not_valid" Then
' one kind of exception - do accordingly
Else
' another kind of exception
End If
Run Code Online (Sandbox Code Playgroud)
我现在面临的问题是,VBA Excel 2010中编辑正在利用o.exception来o.Exception!在Watch窗口中我看到了属性exception但无法访问它.如何强制编辑器停止对属性名称进行大写?是否有其他语法来访问VBA中的属性?
编辑:为了更好地说明这里发生的是两个屏幕截图.

如你所见,它o有一个叫做的属性exception.当试图用o.Exception它访问它时会触发438错误.

由于我控制了后端,因此我将响应更改为return {Exception:whatever} …
如何AND在列表推导中实现警卫?用逗号分隔警卫似乎是这样的OR:
1> rd(r, {a, b}).
r
2> L = [#r{a = 1, b =2}, #r{a = 1, b = 3}].
[#r{a = 1,b = 2},#r{a = 1, b = 3}]
3> [X || X <- L, X#r.a =/= 1, X#r.b =/= 2].
[]
Run Code Online (Sandbox Code Playgroud)
非常感谢.
在我们的组织中,我们使用Google电子表格作为内部应用的数据输入.我创建了一个Google Apps脚本,以便于修改电子表格.
如您所见,此脚本依赖于电子表格格式,并提供仅适用于我们组织的特定用途.
我的问题是如何自动推送所有使用它的电子表格实例的更改?
我可以将脚本添加到脚本库但我认为它不适合这些类型的脚本,如果主副本的任何更改将被推送到客户端,我也找不到信息.
我看到的另一个选项是创建一个包含内部脚本的电子表格模板,但同样会推送更改吗?