1

我是 alasql 的新手(这太棒了)。虽然文档向您展示了如何操作,但它并未提供有关最佳实践的大量信息。

迄今为止,我只是对一组数组(js 对象)运行查询。我还没有创建数据库对象或表对象。

在数组数组上使用数据库和表对象是否有性能(速度、内存等)优势?

这是一个真实世界的例子。我要加载 2 组数据:Employees(10 列)和 Employee Sales(5 列),它们连接在 EmployeeID 列上。员工相对较小(例如 100 行),而 Employee Sales 将有 10,000 条记录。我目前的方法是简单地运行一个查询,将这两组数据连接在一起并最终得到一个大结果集:10,000 行数据,每行 14 列(重复 Employee 数据集中的每一列),然后我从使用动态过滤器、交互性等中提取数据。

这个大数据集一直存储在内存中,但这样做的好处是我不需要一遍又一遍地重新运行该查询。或者,我可以在每次需要时简单地对 2 个数据集运行连接,然后将其从内存中删除。

另外,如果我将多个表连接在一起,我可以在连接列上创建索引以提高性能吗?我在创建索引的示例中看到,但文档中没有其他内容。(此页面上没有任何内容: https ://github.com/agershun/alasql/wiki/Sql )。索引对内存的影响是什么?插入对性能有何影响?

支持主键,但没有文档。这会创建索引吗?

4

1 回答 1

3

在数组数组上使用数据库和表对象是否有性能(速度、内存等)优势?

如果你把索引放在你的表上——是的——你会获得性能优势。多少取决于您的数据。

如果我将多个表连接在一起,我可以在连接列上创建索引以提高性能吗?

是的。以及您将所有其他列放入“位置”条件。

于 2016-03-14T23:20:34.500 回答