skillup

技術ブログ

「 MySQL 」 一覧

no image

MySQLのLIMIT,OFFSETに関して&explainの見方など

2017/12/10   -Database
 

自作のWEBアプリを作っていたところSELECT句が異常に遅いケースがありました。 発見までにかなり時間がかかったんですが、不可思議な現象としてはOFFSETが小さいときと大きいときで検索スピードが全 …

no image

複数GROUP BYでの注意

2017/11/19   -Database
 

GROUP BYしたときに件数が増えるという現象があったので一応メモ。というか当たり前のことですが・・・ たとえば以下のようなテーブルがあったとします。 student id student_name …

no image

データベースアンチパターン・グレーパターンまとめ

2017/07/14   -Database
 ,

本で勉強したものと自分で個人的に経験したことのまとめ 値渡しと参照渡しの混同 マスタ値が変更された場合、通常のテーブルの変更の影響をどの程度受けるかを考える。 型の制約が弱い 文字列数が異常に多かった …

no image

アンチパターン 連鎖倒産+エラー監視+データのバックアップ

2017/07/14   -Database
 

本日は主にインフラの設計的なことに関して。 連鎖倒産 いい言い方が思いつかなかったんでこんな感じにしました(汗)要はあるサーバーのレスポンスが悪いことが原因で他の業務が遅延し、影響を受けることです。 …

no image

アンチパターン トランザクションスコープ+大量データのリアルタイム集計+接続が詰まる

2017/07/13   -Database
 

本日は主にインフラの設計的なことに関して。 トランザクションスコープの設定 トランザクション(一回の処理)が大きすぎる デメリット レスポンスが悪い 障害の時に余計に待たされたり、エラーになったりする …

no image

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

2017/07/12   -Database
 

今回のアンチパターンは主にデータ設計に関する部分。 同一データの使用 以前説明したアンチパターン「同一値を複数テーブルに配置」に少し近い。テーブルが無駄に分かれており、同一データ(とおもわれるもの)が …

no image

アンチパターン バインド変数の未使用+直積組み合わせ+データ量爆発+インデックス関連

2017/07/10   -Database
 

本日はSQLコーディングに関して。 ここら辺は実際にプログラムを書く際に重要になってくるネタ。 バインド変数 SQLでプリペアードステートメントを書くのではなく、生のSQLをそのまま書いてしまう手法。 …

no image

アンチパターン 参照渡しと値渡し+キー情報の設定+同一値を複数テーブルに配置+正規化が不十分+集計表+不適切なステータス値

2017/07/04   -Database
 

本日は自分がデータベースの設計をしていて気を付かないといけないなーと思った点などを。 注意点としては設計のミスは実装で取り返しにくいことが多いので極力気を付けましょう。あといろいろなテーブルのパターン …

no image

データベース設計のアンチパターン リトライ+バッチ分割+バッチの再利用不可

2017/07/03   -Database
 

リトライ ※OLTP=オンライントランザクションシステム(多数の端末から中央のデータベースにアクセスするタイプのシステム) デメリット リトライが繰り返し発生することによる負荷の増大。サーバー再起動以 …

no image

データベース設計のアンチパターン 重すぎるOLTP+Date型不統一+データ量想定が甘い

2017/06/30   -Database
 

重すぎるOLTP ※OLTP=オンライントランザクションシステム(多数の端末から中央のデータベースにアクセスするタイプのシステム) デメリット 速度を要求されるシステムなのに、遅いためユーザー離脱など …