- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有与表“element_parameters”相关的表“elements”。 element_parameters 表具有键/值结构。键和值是动态的,它们可以由用户或某些软件创建,所以我不能在“元素”表中预先定义它们。
例如我有元素“花”和“车”:
elements
--------
flower
car
element_parameters
------------------
element | key | value
flower | smell | soft
car | manufacturer | fiat
flower | color | red
car | wheels | 4
如您所见,可以有任何键和任何值。
但我经常需要通过参数来查找元素。这就是问题。一个元素可能有 10000 多个参数。所以如果我有 100 个元素,每次我想找到某个元素时,我都必须搜索 1000000 个参数。我不能在一个查询中执行此操作,因为首先我必须找到适合我条件的所有参数,按参数 ID 对它们进行分组,然后在元素表中搜索这些 ID。
有没有一些搜索引擎,我可以在其中将元素及其参数合并并索引到“一行”?对于这种情况,Elasticsearch 是个不错的选择吗?也许还有其他方法可以解决?
谢谢。
最佳答案
我认为你应该像这样修改你的数据库:
elements
-----------
id | name
1 | flower
2 | car
element_parameters
-------------------------------------------------
element_id | parameters
1 | {"color":"red","smell":"soft"}
2 | {"manufacturer": "fiat", "wheels":3}
您可以轻松找到任何元素的参数:
$id = 1;
$element = Element::find($id)->load('ElementParameters')->get();
$paremeters = json_decode($element->ElementParameters);
关于mysql - 相关键/值表索引/搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33080994/
我需要一个可以解决以下问题的java程序: 1-它有一个数据结构(DS)来表示以下数据,其中行和列由字符串索引,单元格值是 boolean 值。 因此,要访问第 (i) 行,我可以简单地说 DS["Y
我有一些 SQL 表,一张用于用户,一张用于配置,一张用于用户配置的键/值。 我想要做的是,当向用户表添加新条目时,我想用一行填充配置表中所有可用配置行的键/值表。 因此,如果配置表具有以下行: Se
我继承了一个 mysql 数据库,该数据库有一个包含如下列的表: object_id, property, value 它保存这样的数据: 1,first_name,Jane 1,last_name,
我正在使用这个查询来连接我的学生表和出勤表, 我的问题是,有时出勤表没有值(value)。 它没有返回任何值。 0){ while($row=mysqli_fetch_assoc($r
我正在使用一个执行以下查询的 wordpress 网站,但我看到这个查询正在执行许多内部连接,并且该网站需要很长时间才能加载并且下降很多,我一直在尝试创建一个产生的查询同样的结果,但还没有成功 我想知
我正在使用一个执行以下查询的 wordpress 网站,但我看到这个查询正在执行许多内部连接,并且该网站需要很长时间才能加载并且下降很多,我一直在尝试创建一个产生的查询同样的结果,但还没有成功 我想知
我正在使用一个正在执行以下查询的wordpress网站,但我看到这个查询正在执行许多内部联接,并且该网站需要很长时间才能加载并且出现故障,并且我一直在尝试创建一个生成的查询结果相同,但尚未成功 我想知
这是我的 EAV 表结构(我知道 EAV 很糟糕,但我需要存储的属性数量超过一万个,因此规范化表不起作用) Table name - propertyAssign entityId - int - i
我是一名优秀的程序员,十分优秀!