[英]Normalization or Alternative with MySQL
使用PHP和MySQL构建一个站点,该站点需要存储有关用户的很多属性(例如,用户的DOB,身高,体重等),这非常简单(单个表,很多属性(几乎都是必需的))。
但是,系统还需要存储其他信息,例如他们的口头语言,工具能力等。它们的全部特征都超过十二种。 默认情况下,我假定先创建一个单独的表(可能称为语言),然后创建一个具有复合ID(user_id,language_id)的链接表。
我预见的问题是访问者尝试使用这些条件搜索用户时。 我们希望使用的数据集在启动时将拥有超过15,000个用户,主要功能将是搜索和优化用户。 这意味着每天有数百个查询,并且使用其中包含十几个或更多JOIN的查询的前景并不吸引。
所以我的问题是,有没有一种替代方法会更有效率? 我想到的一种方法是将M2M值作为ID的CSV存储在用户表中,然后对其执行LIKE查询。 我知道LIKE并不是最好的,但是它比join更好吗?
任何可能的解决方案将不胜感激。
用joins做。 然后,如果您的绩效目标未达到,请尝试其他方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.