我有一个配方的MySQL数据库。其中一列NAME是varchar(255)。每个NAME可以是多个单词(例如,“Chocolate Chip Cookies”和“Oatmeal Cookies”)。
我正在寻找一种方法来有效地将食谱名称解析为单个单词,然后返回最常用单词的列表。因此,鉴于上面的两个配方,查询将返回:
cookies,2 巧克力,1 芯片,1 燕麦片,1
有一种有效的方法吗?我可以查询所有结果,将每个食谱名称拆分为单词,然后构建数据结构以在数据库外执行此操作。或者,我可以提前拆分字符串并构建表格。
我想我真正希望的是利用数据库来更快地完成这项工作(比如使用索引)。我不知道单个查询是否可行。
那么,我是不是提前建了一张桌子?或者这可以通过单个查询有效地完成吗?
谢谢!
答案 0 :(得分:1)
如果您的表使用MyISAM存储引擎并在FULLTEXT
列上构建NAME
索引,则可以使用myisam_ftdump's --count
option获取每个字的总计数。然而,遗憾的是,这将超出SQL。