【发布时间】:2019-02-19 14:34:52
【问题描述】:
我有一个大约 300,000 条记录的大型数据集,除此之外,除了在搜索框中输入的内容之外,我几乎没有什么可以添加到查询中来减少它。
keyup 与 keydown 的差异在 10 个水果或数百个国家/地区的数组中并不明显,但在处理 300,000 多条记录时差异巨大,您需要第一次击键才能取消一些选择。
为了说明
// on FIRST keydown field value is blank as expected,
// (value is present on keyup)
$('#autoCompleteField').keypress(function(){
var formVal=$('#autoCompleteField').val();
});
// assume ive made it safely to my php form
// $formVal = jquery value shown above
// translates to query below
select('id','name') from myTable where name like '%%'
拉出 10 种水果或几百个国家的列表会很好,就像在他们的演示中所做的那样,没有任何后果,但对于拥有 300,000 多条记录的毫无戒心的人来说,这似乎是一个很大的疏忽。
你有什么理由不应该使用 keyup 吗?
【问题讨论】:
-
如果您对 300K 记录进行自动完成,那么您做错了。不会有人想到电子吗?!?!?!?!
-
如果一个人想要一个可以处理它的功能,你会用什么?
-
A.) 你在征求意见,而不是坚如磐石的答案。 “我错了吗?” B.) 你必须考虑到你的用户。请给我们一个需要 300K 选择的用例。
-
没有条件的查询有300,000。 FIRST keydown 发送一个不添加任何条件的查询,因为此时它是一个空白的未触及字段,有效地询问所有内容。我的问题是......我已经通过使用 keyup 而不是 keypress/keydown 解决了它,我想知道为什么插件本身没有将它作为默认设置。这种方法有什么问题吗?
标签: php jquery mysql autocomplete