skillup

技術ブログ

Database

checkboxでの値の管理

投稿日:

formにてcheckboxの値を一つのカラムにいれて管理する機会があったのですが、これ入力更新出会っても検索であっても処理がなかなか厄介です。特に検索の時ですね・・・

要するに値の候補が1,2,3,4だとしてデータとして値1,3が入っているとします。

そして検索画面では1,2がチェックされ含まれている値は?となった時、

とりあえず現状の対処法としては、

  • 文字列にしてカンマ区切りで保存(厳密にやりたい場合はSET型でもいいかも)
  • でもってFIND_IN_SETで値を1つ1つ検索

とやっていました。ただこの方法だとindexが効きませんので検索のスピードを上げたい時には向きません。

そんな時ですが、2進法の考え方を利用して、値を保存してあげると検索効率が上がります。(実際の実装については要調査)

 

-Database

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

persistence.xmlのプロパティについて

JavaEEではデータベースとの設定情報はpersistence.xmlに記述します。 (ユーザー名、パスワード、ポート、driver名、データベース名などの情報はglassfish-resource …

no image

データベースのインデックスについて

今回はデータベースのインデックスに関して。 検索条件を早くする場合、何よりも速度が速くなるのはインデックスを張ることでしょう。 インデックスを張ることは単語を索引順に並べることですので、劇的に速度が向 …

no image

アンチパターン データ分身の術+DBの不要な連携+バージョンアップ未テスト

今回のアンチパターンは主にデータ設計に関する部分。 Contents1 同一データの使用1.1 デメリット1.2 対策2 DBの不要な連携2.1 デメリット2.2 対策3 サーバーの移行やバージョンア …

no image

CASE+HAVING句

今回はCASEとHAVINGを組み合わせて、そこそこの難問を解いていきます。 まず下記のようなテーブル(testresults)があるとします。 student | class | sex | sco …

no image

mavenのリモートリポジトリについて

JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。 億劫というかいろいろとリスクがありますね。 問題点としてはコンパイルするときにエラーが検知できなかった …

アーカイブ