我有一个数据存储,其中包含大约150,000个实体.当我使用过滤器查询商店时,我的查询真的很慢.我的结构是完全平坦的,即每个实体都是彼此的兄弟.
1:使用GQL代替过滤器更好吗?
2:这不是Data Store的最佳用例,我应该使用SQL数据库吗?
这是我的代码示例:
// Look for a buy opportunity
dateFilter = new FilterPredicate("date", FilterOperator.EQUAL, dt);
scoreFilter = new FilterPredicate("score", FilterOperator.LESS_THAN_OR_EQUAL, 10.0);
safetyFilter = new FilterPredicate("score", FilterOperator.GREATER_THAN_OR_EQUAL, -1.0);
mainFilter = CompositeFilterOperator.and(dateFilter,scoreFilter,safetyFilter);
q = new Query("StockEntity",stockKey).setFilter(mainFilter);
q.addSort("score", Query.SortDirection.ASCENDING);
stocks = datastore.prepare(q).asList(FetchOptions.Builder.withLimit(availableSlots));
Run Code Online (Sandbox Code Playgroud)
更多细节:
150,000个记录,分为500个股票,每个股票约300个记录,日期范围内每天一个.
如上所述查询,其中传递了特定日期,并且基于"得分"有效地过滤了500个股票,期望返回的记录数量在10到20之间需要超过30秒才能完成,在我的开发机器.
还没有尝试推动生产,但我想我会尝试下一步 - 我认为不会有巨大的差异.我的开发机器是一个相当高的规格iMac.
如何在 Video.js 中的时间轴上显示章节标记?[或任何其他玩家,就此而言]
看看这里:laurencemoroney.azurewebsites.net/smf/videojstest.html
我向网站添加了一个 WebVTT 文件,可在此处查看:laurencemoroney.azurewebsites.net/smf/test1.vtt
我在我的播放器上使用了标签,如下所示:
<track kind="chapters" src="test1.vtt" srclang="en" label="English" default="default"></track>
Run Code Online (Sandbox Code Playgroud)
我能得到的最好结果是在 Safari 上,当视频到达时间轴上的该点时,我只显示章节名称。
那么,Video.js 有没有一种方法(或皮肤)可以在章节时间轴上向我显示凹口,并允许我单击它们以跳转到该章节?
或者,是否有其他播放器支持此功能?