我有两个表“Category”表,其中一列是“category name”和“Professional”表,其中一列是“category id”。
现在我在“类别表”中搜索某些类别,然后找到那些拥有该类别的专业人士。
我面临的问题是,如果加入“专业”和“类别”表,它看起来好像正在搜索“专业”表中的太多行。 (如果我错了,请忽略)
是否可能仅在“类别”表中从搜索返回的那些行上发生连接。
explain select c.id from professional_categories as c
inner join professionals as p on p.professional_category_id=c.id
where c.professional_category_name like 'ABC%'
以下是专业表的索引。
答案 0 :(得分:0)
您需要在 index
表格的professional_category_id
上创建 professionals
。
这将有助于更快和最少的搜索记录。
使用参照完整性约束也可以解决此问题,如下所示:
如果专业表的 professional_category_id 属性为外键,则引用 category_name 属性类别表也可以实现。此外键密钥还有助于更快/最小搜索。在这种情况下,您无需明确在 professional_category_id 属性上创建任何索引