使用过滤器加速mysql搜索

时间:2013-03-06 20:28:43

标签: mysql

我正在尝试制作一个好的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;}              |
+-------+-------------+---------------------------------------------------------------+

例如,对于Joey的参数,我做了

的序列化
array (
"is_legit" => 1,
"age" => 15,
"registred" => 0
)

我有一个过滤条,我想知道是否有办法让查询比简单%LIKE%更快

1 个答案:

答案 0 :(得分:0)

最好将架构更改为实体 - 属性 - 值模型:
Entity Attribute Value Database vs. strict Relational Model Ecommerce

您尝试做的更适合列系列商店(如Cassandra)或文档数据库(如MongoDB)。

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