mysql数据库能否实现如下的算法

  首先,当用户输入一个进行查找的字符串时,php代码产生4个数组,分别代表4个“优先级”,且这4个数组被储存在一个二维数组中(这些我已经用php实现,关键是后面mysql数据库的操作)

  假设进行查找的表是这样的一个表,auto为表的auto_increment字段,content为查询面向的字段

  这时,每行的相似度开始都为0,content中出现一个aaa(也就是第一个数组中的元素)则相似度加1000,出现一个bbb则相似度加100(也就是第二个数组中的元素,以此类推)出现一个ccc加10,一个ddd加1。当计算好后根据这个相似度进行排列。

  这样,那个auto为3的字段被排在最前面因为它有两个aaa和一个bbb,所以它的相似度为1000+1000+100=2100,高于其他任何行。

  Ps:我希望这个过程完全由mysql完成而不要用php,因为听说这样占用的系统资源少。当mysql处理好后我会用php的mysql_fetch_array()函数直接获取查询结果并直接输出

  顺便想问一下是否让mysql来完成这种过程比让php来完成这种过程更节省系统资源?

  当然,上述的仅是本人对于搜索引擎查找的一个逻辑结构构想,如果有更好的逻辑结构或者更简单的方法,请不吝赐教。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  别让数据库太累(只做存取是最合适不过),瓶颈总是在数据库。这样的算法应该写在底层,如果是实验,APP也是完全没有问题。

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。