高性能分页的常见解决方案是使用索引字段,从前一页的最后一个值开始每个新“页面”。例如,对于这样的数据集(假设 Category 和 ID 是主键):
Category | ID | Name
Red | 10 | Bob Jones
Red | 14 | Sam Smith
Red | 16 | Jill White
Blue | 10 | Mike Green
Blue | 16 | Mary Brown
Run Code Online (Sandbox Code Playgroud)
假设(相当小的)页面大小为 1,如果我们要返回所有Red类别记录(假设 ORDER BY Category, ID):
SELECT * FROM table WHERE Category='Red' AND ID>'00' (1st page, returns Bob Jones)
SELECT * FROM table WHERE Category='Red' AND ID>'10' (2nd page, returns Sam Smith)
SELECT * FROM table WHERE Category='Red' …Run Code Online (Sandbox Code Playgroud) 也许我正在尝试做的事情要么是不可能的,要么是如此简单,以至于在任何地方都没有(我能找到)任何东西.在一般情况下,我试图确定如何(如果可能)将流传递给COM对象或从COM对象返回流.具体来说,我的COM对象是用Delphi编写的,通常由PHP脚本使用.用例将通过PHP将大块二进制数据作为流从COM对象返回到Web客户端; 或者将从Web客户端接收的大量二进制数据直接写入COM对象(由PHP脚本实例化).目前,我正在通过让COM对象和PHP通过临时文件交换这些数据块来完成这些功能 - 创建这些临时文件的开销是我想要避免的.
在这个代码示例中:
let result = (async (global) => {
// other code here (includes await's; thus the async)
return 123;
})(this);
Run Code Online (Sandbox Code Playgroud)
代码有效,但返回的值无处可寻(不在其中result).有没有办法使用普通的return语句从这个函数中获取数据?
我试图弄清楚事情是如何发生的:在 node.js 上使用 Axios 时,返回 XML 正文的 HTTP GET 出现在已解析为 JS 对象的响应数据属性中。我对此感到惊讶(并且期望返回需要通过 XML 解析器传递以获取 JS 对象的文本)。我在 Axios 文档中找不到任何关于此功能的提及,也无法在 Axios 源代码中找到对 XML 解析器的引用。
这是 Axios 代码的基本示例:
let url = `${PB_PID}${values.source}`;
let result = await http.get(url, {
timeout: 4000,
responseType: 'text',
maxContentLength: 65536
});
let data = result.data; // data is a JS object, parsed from the received XML response
Run Code Online (Sandbox Code Playgroud)
我本来希望data包含文本。它自动解析 XML 并不一定是坏事,但我想了解为什么/如何发生这种情况,原因有多种,包括这可能并不总是期望的结果。
axios ×1
com ×1
delphi ×1
javascript ×1
keyset ×1
orientdb ×1
pagination ×1
php ×1
sql ×1
sql-server ×1
stream ×1