背景:
我正在开发一种搜索功能,使用户能够一次搜索三个实体:班级、学生组织和事件名称。
MySQL 5.6 和 Innodb 将在相对较小的服务器上使用。
表格:
搜索
entity_id (tiny_int)
entity_type (tiny_int)
full_name (varchar(255))
Index (Primary) -> entity_id, entity_type
Index (FULL TEXT INDEX) -> full_name
类(实体类型 = 1)
class_id
ALL OTHER COLUMNS...
事件(实体类型 = 2)
event_id
ALL OTHER COLUMNS
组织(实体类型 = 3)
org_id
ALL OTHER COLUMNS
问题:
通过使用主键将3个看似相似但不同的数据集(类、事件、组织)的名称索引到一个搜索表中是否合适entity_id, entity_type
?
我将如何使用这些表在搜索表上进行连接Class, Events, Orgs
?有条件我可以使用entity_type
吗?
非常感谢任何帮助或指导。