【发布时间】:2012-08-27 03:57:31
【问题描述】:
让我们这样说吧,我有一个包含 2 种成分的披萨。这些成分存储在我的 PHP 中的一个数组中,在我的 MySQL 中,我将这些数组位置总和的 Int 存储为二进制。
我的意思是:
$ingredients = ["cheese","pepperoni","bacon","onion"];
如果我的披萨有奶酪和培根,我会存储值 2^0 + 2^2 = 5。
我实现的目标是在我的数据库中搜索所有价值 5 的比萨饼,并获得快速而酷炫的搜索。
我的问题是:如果我有大量的配料怎么办?即使我只使用其中的 2 个,如果它们位于阵列的较大位置(比如说 100 个),我就完蛋了。
你会在那个特定的问题上使用什么样的解决方案?
P.D.- 显然我不是在谈论披萨公司,我确实关心 ms 速度
【问题讨论】:
-
Please read this article。你最好在为时已晚之前制作常规的相关表格(pizza,pizza_ingredients,ingredients):)
-
你不能要双份奶酪吗?
-
当然,这就是我实际使用的解决方案,但我真的很喜欢我解释过的那种按价值搜索。对于少数值来说,这是一个很好的解决方案,但我想知道它们何时大量使用:-/
-
没有 Álvaro,你不能(它完全修复了我的结构):-)
-
-1 您正在寻求帮助以用锤子拧螺丝,但您拒绝了螺丝刀的好意。我确定您不会听,但我希望此评论能对遇到您的问题并可能认为这是一个“好主意”的其他人提出警告。
标签: php mysql sql database architecture