【发布时间】:2012-01-29 05:23:05
【问题描述】:
我正在制作一个网站,(基本上)允许用户提交一个单词,将其与 MySQL 数据库进行匹配,并返回找到的最接近的匹配项。我目前的实现是,每当用户提交一个单词时,就会调用 PHP 脚本,它会读取数据库信息,逐个扫描每个单词,直到找到匹配项,然后返回。
我觉得这非常低效。我即将制作一个程序,将单词列表存储在树形结构中,以实现更有效的搜索。如果数据库中有数万个单词,我可以看到当前的实现速度慢了很多。
我的问题是:不必编写另一个单独的程序,并使用 PHP 来连接每个查询,我可以只用 PHP 将整个数据树保存在内存中吗?这样,任何会话、任何查询都只会从内存中读取,而不是重新读取数据库并一遍又一遍地重建树。
【问题讨论】:
-
可能想看看memcached.org