sql >> データベース >  >> RDS >> Mysql

シリアル化された配列内のmysqlselectクエリ

    GWWがコメントで述べているように、この方法でクエリを実行する必要がある場合は、このデータをbig-ole-string(シリアル化された配列)以外のものとして格納することを検討する必要があります。

    それが不可能な場合(または単に怠惰な場合)は、シリアル化された配列が単なる大きな文字列であるという事実を利用して、一致するレコードを見つけるためにLIKE句を見つけ出すことができます。 PHPがデータをシリアル化する方法は、非常に簡単に理解できます(ヒント:これらの数値は、物事の長さを示しています)。

    さて、シリアル化された配列がかなり複雑な場合、これはすぐに壊れます。ただし、フラットアレイの場合は、それを実行できるはずです。

    もちろん、LIKE'%...%'を使用するため、どの指標からも助けが得られず、パフォーマンスが非常に低下します。

    そのため、データの「内部」でクエリを実行する必要がある場合は、データを正規化された方法で保存することをお勧めします。



    1. SQLServerログ配布とディザスタリカバリのインストールと構成-2

    2. OracleRACとシーケンス

    3. テストのためにMySQLインスタンスを失敗またはクラッシュさせる方法

    4. Java for OS X 2013-004はSwingアプリケーションにどのように影響しますか?