php – 用于anagram解算器的Mysql多个查询

我有一个简单但很大的表,叫做’字典’,有两列. Id和单词.
我有一个php anagram算法可以创建给定单词的所有可能组合.如果我的字典中存在该单词并且如果是则显示它,我想知道.但我必须使用太多的查询.例如,9个字母的单词是362880个组合.有没有想过如何减少db调用?

解决方法:

虽然我不知道这样的查询有多高效,但是只针对一个查询尝试这样的事情:

$possibilities = array( "at", "ta");
$sql = 'SELECT * FROM dictionary_table 
            WHERE word IN ("' . implode( '", "', $possibilities) . '")';

这将生成SQL查询:

SELECT * FROM dictionary_table 
            WHERE word IN ("at", "ta")

好处是查询是动态的,所以无论有多少美元的可能性,这在理论上都可行.为了提高效率,我肯定会将单词列索引.

上一篇:Leetcode.438 Find All Anagrams in a String(Java)


下一篇:java – anagram检查的最佳解决方案?