- 2024年2月22日
【MySQL】ENUM型のカラムの値に自由入力の値を追加したくなった時の改修方法
ENUM型は文字列による読みやすさと省スペースなデータ量と高速さを併せ持つ型です。ENUM型を使うことによって限られた種類の値を扱いやすくなります。 MySQL :: MySQL […]
ENUM型は文字列による読みやすさと省スペースなデータ量と高速さを併せ持つ型です。ENUM型を使うことによって限られた種類の値を扱いやすくなります。 MySQL :: MySQL […]
しばしば一覧画面で一覧されている要素に紐づく最新の何かも表示したくなることがあります。例えば、ブログサイトの記事一覧の記事に対する最新のコメントなどです。こういった時の高速化の方 […]
題の通りです。稀に特定の条件に合致するレコードの数を制限するようなクエリを発行する必要があります。例えば、最新のn件のレコードだけを保持して残りは削除したい、といったような具合で […]
EXPLAIN ANALYZEは、SQLクエリの実行計画を解析するためのMySQLの機能でありクエリの最適化やボトルネックを特定するために便利です。 EXPLAIN ANALYZ […]
結論から言うと日、週単位で絞り込める部分は必ず日、週単位のインデックスを用いた絞り込みを最初に行うようにし、その後に必要な処理をプログラムに行わせるべき、ということです。 デー […]
稀にランダムなデータをSQL上で直に流し込んでテストしたい時があります。どういった時に使えるプロシージャの例を紹介します。これは次です。具体的に何をしているかはコメントを参照です […]
MySQLで時系列のログなりなんなりを集計する場合がしばしばあります。そういった時に使えるクエリの例を紹介します。例の区切りは次です。 このクエリの結果によって指定した範囲内で […]
この記事に書く方法よりもできることならばwebサーバー側のプログラムで適宜ISO 8601形式等の日時のフォーマット変換をした方が無難です。文字列結合や参照しないフィールドにおけ […]
MySQLはリレーショナルデータベース管理システムの一つです。プログラムではしばしばMySQLにデータを保存して永続化し、適宜読み出します。この読み書きの命令文(以下クエリ)が遅 […]
この記事はMySQL 8.0.30環境で試しながら作りました。 MySQLにはウィンドウ関数という関数があります。これは結果の前後を参照したり結果の範囲を区切った上で様々な操作 […]
MySQL にはクエリ中にのみ有効なテーブルを作る機能があります。テーブルを作る際によくある書き方として次があります。 SELECT 中に直に値を埋め込み as で列としての名 […]
LAG、LEAD は MySQL8.0 で使える Window 関数の一種です。MySQL 以外でも使えます。Window 関数は複数行を同時に取り扱った結果を、行をまとめずに元 […]