它正在工作!
即使我正在查询 100,000 条记录。返回速度低于30ms。我什至将数据库大小增加到 500,000 条记录,并且自动建议速度非常可以接受(仍然低于 120 毫秒)。我确信通过在 PHP 端进行一些缓存我可以做得更好。
我最终使用了查询读取存储 and 过滤选择. JsonRestStore可能会起作用,但我从道场站点找到了一个简单的工作示例并从中构建。
这是用于自动建议文本框的工作 DOJO 代码,用于处理非常大的数据集 -简短而甜蜜:
var vendorStore = new dojox.data.QueryReadStore({
url: "../vms/htdocs/ajax/search.php"
});
var vendorSelect = new dijit.form.FilteringSelect({
name: "vendorSelection",
store: vendorStore,
autoComplete: false,
required: true,
labelType: "text",
placeHolder: "Search vendors",
pageSize: 20,
hasDownArrow: false,
style: "width: 175px;",
searchAttr: "company_name",
id: "vendorSelect"
},
"vendorSelection");
vendorSelect.startup();
当然,坚持<select id="vendorSelection"></select>
页面正文中的某处。效果很好。
再次感谢!