层次结构结构



我正在为本地语言开发一个数据库,该数据库允许用户搜索押韵单词。我要开发的系统不仅会搜索押韵单词,还将搜索每个搜索项的押韵单词。那可以达到n级。为了简化,这是一个示例:

如果我搜索单词"研究",那么基本结果将像血腥的伙伴一样,但随后我也想搜索这些结果中的每一个,以包括每个结果的押韵单词。换句话说,我想获得朋友朋友朋友的朋友名单。

我知道我可以通过递归查询获得此功能,但是当数据库增长时,该查询的响应速度非常慢。

任何人都可以建议一些好的数据库表结构,这对我有帮助。

问候

我可能会考虑使用声音的语音表示作为您的键,并使用所有可能的押韵变化来创建一种类型的"查找"表,这应该是合理的可管理大小,例如。在您的示例中,您将在押韵查找中具有声音" udy"的代表。让我们称该表为"语音"

在第二个表中,有要分析或搜索的所有单词,我们将该表称为" Word"

在第三个表中,您在"语音"中创建单词和一个或多个条目之间的映射,让我们称其为"押韵"

需要更多的思考才能设置查找,但是随着数据库的增长,您的性能也会扩展,因为您可以搜索所有" rhyme"条目以获取" Word"记录,然后查找所有映射到"押韵"表中相同的"语音"值。

如果您使用递归结构,我认为您很快就会发现它无法扩展。

最新更新