JQuery UI 自动完成很慢

君士坦丁

这段代码工作正常,但问题是它很慢,我认为这是因为每次我输入一个字母时它都会连接到数据库。有没有办法让它更快?我必须假设 db 表不会总是相同的,所以我不能只是将结果添加到 var 并完成它。先感谢您。

另外,如果您认为这个 api 不好,我可以接受替代方案。

HMTL:

<label for="hint">Meds: </label>
<input id="hint">

查询:

$(function () {
    $("#hint").autocomplete({
        source: 'getMedicineNames.php'
    });
});

PHP:

require 'connect.inc.php';
$mysql = mysqli_connect("$db_host", "$db_username", "$db_pass", "$db_name");
$name = isset($_GET['term']) ? $_GET['term'] : "";

if ($name!="") {
    $sql = "SELECT MedicineName FROM medicinetypes WHERE MedicineName LIKE '%$name%'";

    $res = mysqli_query($mysql, $sql);
    $res = mysqli_fetch_all($res, MYSQLI_ASSOC);

    foreach ($res as $row) {
        $data[] = $row['MedicineName'];
    }
    echo json_encode($data);
}
西里尔

您可以在 3 个域中进行调查:

缓存

您可以实现简单的缓存系统。

例如,将每个起始字母的所有结果缓存在 26 个不同的文件或其他文件中。找到最适合您的情况的重新分区。这种方法你有很多选择

数据库优化

你的表有索引吗?如果你不想要深入

大多数数据库都为您的用例提供了一些示例代码。

搜索引擎

当您必须处理大数据集时,您需要考虑使用搜索引擎系统(如ElasticSearch)。它们通常具有用于自动完成的内置模块并且非常高效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery UI,HTML自动完成

来自分类Dev

jQuery提到jQuery UI自动完成

来自分类Dev

多个JQuery UI自动完成选择

来自分类Dev

jQuery UI自动完成问题

来自分类Dev

jQuery UI自动完成奇怪的行为

来自分类Dev

jQuery UI自动完成和隐藏字段

来自分类Dev

没有jQuery UI的自动完成

来自分类Dev

jQuery UI自动完成minLength提示

来自分类Dev

jQuery UI自动完成显示错误的值

来自分类Dev

jQuery UI自动完成解析数据

来自分类Dev

jQuery UI自动完成未填充

来自分类Dev

jQuery UI自动完成的JSON数组

来自分类Dev

Jquery UI自动完成的限制结果

来自分类Dev

jQuery UI自动完成与Django中的图片

来自分类Dev

无法应用jQuery UI自动完成的CSS

来自分类Dev

jQuery UI通过Ajax错误自动完成:

来自分类Dev

jQuery UI自动完成和验证

来自分类Dev

在jQuery UI自动完成中使用if语句

来自分类Dev

jQuery UI自动完成显示错误的值

来自分类Dev

jQuery UI自动完成打开位置

来自分类Dev

自动完成的jQuery UI ... json的错误

来自分类Dev

jQuery UI自动完成的JSON数组

来自分类Dev

Jquery UI自动完成的限制结果

来自分类Dev

带有URL的jQuery UI自动完成

来自分类Dev

jQuery UI自动完成多个“响应”方法

来自分类Dev

Rails中的jQuery UI自动完成链接

来自分类Dev

jQuery UI在导航栏中自动完成

来自分类Dev

jQuery UI在动态字段上自动完成

来自分类Dev

使用jQuery UI自动完成的tokenfield