我有一个遗留的mysql数据库,这个表有一些全文索引列。在每个列中,存储的数据由空格分隔。就像
token1 token2 token3
使用全文索引功能,代码匹配为:
SELECT ... FROM mytable WHERE MATCH(column1) AGAINST('token1' IN BOOLEAN MODE) AND MATCH(column2) AGAINST('token2' IN BOOLEAN MODE) AND MATCH(column3) AGAINST('token3' IN BOOLEAN MODE)
现在我想将这个特定的设计转换为更加规范化的方式。另一个原因是我想使用innoDB表而不是myism表。该过程似乎将每列转换为一个属性表,然后使用另一个连接表来标记属性表和原始表之间的一对多关系。这可能会使SQL复杂化很多。我想知道是否有更好的解决方案。
答案 0 :(得分:0)
IMO你应该在你的表之间创建许多关系。这样,您将获得更好的性能和更多的灵活性。