【问题标题】:Do we need another table on this autocomplete scenario?在这个自动完成场景中我们需要另一个表吗?
【发布时间】:2011-05-08 17:39:42
【问题描述】:

我有这个表单,提交后会将数据保存到数据库中。

但是,该表单也将包含一些来自数据库的数据。

例如,自动完成表单字段功能需要从数据库中检索数据。

  1. 我说的是自动完成的 2000 条左右的记录,也许对于 MySQL 上的数据库枚举或设置类型来说太多了?

  2. 如果是,那我该怎么办?我是否应该创建另一个表,其中只包含那些将填充我们的自动完成功能的名称?

非常感谢

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    我会将autocomplete 存储在内存中(非常快)数据库中,例如redis 以加快速度。可能实现此目的的一种简单方法是将php-redis-autocomplete 与免费的redistogo 实例结合使用。我got redistogo working by the following code

    P.S:如果可能的话,我认为在本地安装(编译)redis 会更好,但在使用非常便宜的主机时几乎不可能。

    【讨论】:

    • 阿尔弗雷德,谢谢你的建议。不幸的是,这不是一个解决方案,因为我无法在我的主机上编译 redis,即使我这样做了,我也不准备在这里添加另一个技术层。
    • 这些类型的查询在 SQL 中非常昂贵,这就是为什么所有大型站点都用内存解决方案替换它们的原因。但是,如果必须,请在该字段上放置一个索引并使用LIKE之类的内容进行查询...
    • p.s:安装redis很简单,也可以使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多