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

スキーマを Entity-Attribute-Value モデルに変更したほうがよいでしょう:
Entity Attribute Value Database vs. strict Relational Model ecommerce

あなたがしようとしていることは、列ファミリー ストア (Cassandra など) またはドキュメント データベース (MongoDB など) に適しています。

(スキーマを変更せずに) 唯一の確実な方法は、貪欲な検索を行い、実際にアプリケーション ロジックで正確に一致するものをフィルター処理することです。

于 2013-03-06T20:39:58.333 に答える