0

我正在尝试制作一个好的 mysql 查询以尽可能快地进行。

我有一些这样的用户:

+-------+-------------+---------------------------------------------------------------+
|id     | name        | params                                                        |
+-------+-------------+---------------------------------------------------------------+
|1      | Joey        | a:3:{s:8:"is_legit";i:1;s:3:"age";i:15;s:9:"registred";i:0;}  |
|2      | Cloe        | a:2:{s:6:"length";i:185;s:9:"registred";i:1;}                 |
|3      | Mark        | a:2:{s:6:"length";i:185;s:11:"valid_email";i:1;}              |
+-------+-------------+---------------------------------------------------------------+

例如对于乔伊的参数,我制作了一个序列化的

array (
"is_legit" => 1,
"age" => 15,
"registred" => 0
)

我有一个过滤器栏,我想知道是否有一种方法可以使查询比简单的查询更快%LIKE%

4

1 回答 1

0

您最好将架构更改为实体-属性-值模型:
实体属性值数据库与严格的关系模型电子商务

您尝试做的更适合列族存储(如 Cassandra)或文档数据库(如 MongoDB)。

唯一可靠的方法(不更改架构)是进行贪婪搜索,然后实际过滤应用程序逻辑中的精确匹配。

于 2013-03-06T20:39:58.333 回答