- 2024年9月17日
【MySQL】FIND_IN_SETでカンマ区切りの文字列の中に何があるかを識別する
しばしば複数の値がカンマ区切り文字列で格納されているデータベースを扱う必要がある時があります。これは例えば次のようなテーブルです。 user_id name roles 1 山田 […]
しばしば複数の値がカンマ区切り文字列で格納されているデータベースを扱う必要がある時があります。これは例えば次のようなテーブルです。 user_id name roles 1 山田 […]
テストデータを作る時など、なるべ必要最低限の小さなデータベースを作りたい時があります。この記事ではそういった時に使える容量の確認方法を紹介します。 容量を確かめるSQLは次です […]
論理削除はデータベース上にレコードを残しておくが、アプリケーション上では削除扱いとする手法です。これはデスクトップのゴミ箱のようにいざという時にデータを回復しやすくなる仕組みです […]
ENUM型は文字列による読みやすさと省スペースなデータ量と高速さを併せ持つ型です。ENUM型を使うことによって限られた種類の値を扱いやすくなります。 MySQL :: MySQL […]
しばしば一覧画面で一覧されている要素に紐づく最新の何かも表示したくなることがあります。例えば、ブログサイトの記事一覧の記事に対する最新のコメントなどです。こういった時の高速化の方 […]
題の通りです。稀に特定の条件に合致するレコードの数を制限するようなクエリを発行する必要があります。例えば、最新のn件のレコードだけを保持して残りは削除したい、といったような具合で […]
EXPLAIN ANALYZEは、SQLクエリの実行計画を解析するためのMySQLの機能でありクエリの最適化やボトルネックを特定するために便利です。 EXPLAIN ANALYZ […]
結論から言うと日、週単位で絞り込める部分は必ず日、週単位のインデックスを用いた絞り込みを最初に行うようにし、その後に必要な処理をプログラムに行わせるべき、ということです。 デー […]
稀にランダムなデータをSQL上で直に流し込んでテストしたい時があります。どういった時に使えるプロシージャの例を紹介します。これは次です。具体的に何をしているかはコメントを参照です […]
MySQLで時系列のログなりなんなりを集計する場合がしばしばあります。そういった時に使えるクエリの例を紹介します。例の区切りは次です。 このクエリの結果によって指定した範囲内で […]
この記事に書く方法よりもできることならばwebサーバー側のプログラムで適宜ISO 8601形式等の日時のフォーマット変換をした方が無難です。文字列結合や参照しないフィールドにおけ […]
MySQLはリレーショナルデータベース管理システムの一つです。プログラムではしばしばMySQLにデータを保存して永続化し、適宜読み出します。この読み書きの命令文(以下クエリ)が遅 […]