当前位置:  开发笔记 > 编程语言 > 正文

使用MySQL搜索多个表

如何解决《使用MySQL搜索多个表》经验,为你挑选了1个好方法。

我正在编写一个PHP/MySQL程序,我想知道如何使用MySQL搜索多个表.

基本上,我在大多数网站的右上角都有一个搜索框,当用户在该框中搜索某些内容时,它需要搜索users.username,users.profile_text,uploads.title,uploads.description,sets.description和comments.text.我需要获取ID(存储在每个表中的id字段中),如果可能的话,谷歌就像摘录一样.



1> Welbog..:

您可以编写程序来单独查询每个表,也可以创建一个相对简单的视图,将重要表的所有可搜索列与一个显示它们来自哪个表的指示器联合起来.除了正常编写语句之外,搜索多个表并不是一种神奇的方法.

第二种方法看起来像这样:

(SELECT 'Table 1' AS TableName, id as Id, text as Searchable
FROM table1)
UNION
(SELECT 'Table 2' AS TableName, table2_id as Id, name as Searchable
FROM table2)
UNION
...

然后搜索生成的视图.重要的是要注意这种方法不会很快.

一个类似且更快的替代方案是将一个表专用于此任务而不是视图,并在实际表的插入/更新/删除时填充它,而不是在访问时重新计算它.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有