idカラムのみを主キーにして、 他に複合ユニークindexをつける戦略。 複合主キーよりid + 複合Uniqueキー Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><
カテゴリー: RDB
カラムにINDEXを貼る基準
カーディナリティ 絡むの種類の絶対値のこと カーディナリティが5%以下の時 5%以下ならIndexを貼る価値がある WHEREやJOIN … ONでの結合対象カラム Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとん …
EXISTSとINの使い分け【SQL】
EXISTSとINは場合によって使い分ける。 間違うと遅くなる…🐱 結論として 従属表の選択性が高い場合 → 従属表から先に絞り込むIN 従属表の選択性が低い場合 → 主表から先に絞り込むEXISTS 両方の選択性が低い場合 → EXISTS 本の検索による例 世界の本のデータベース bookを主表、book_categoryを従属表とする 主表 bookテ …
RDS監視項目
CPU CPU Utilization CPU使用率が40%を5分でアラーム Memory Freeable Memory 30%を切ったらアラームなど SWAP 0が望ましい。 SWAP発生時点でアラーム EBS Latency Write Latency 100msを超えたらアラーム Read Latency 100msを超えたらアラーム …
【工事中】Laravel MySQLどうやら我々はランキングを作る必要があるらしい
では作業しようか。。 毎回作業するのはあれなので、バッチ処理で毎月実行されるようにしなくてはいけない 1ヶ月のキャッシュで良いかな? Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおす …
Laravel カンマ区切りで登録されているデータの扱い
プロジェクトによって中間テーブルではなくて、カラムに1次元配列の値があるプロジェクトがあるので対処する必要がある。 この設計って便利なのか?🐱❓ データの取得を考えても中間テーブルの方がシンプルに見えるが。。 🍜カンマ区切りの1次元配列での値保存 この設計って便利なの? 私はよわよわPGなんで教えて欲しい…💦 中間テーブルのほうがシンプルで良いと思うのだが🐱❓https: …
ログインロックテーブル設計 WPプラグインから学ぶ
WP Limit Login Attemptsから学ぶ ログイン回数制限でのプラグイン。 アプリのチェックイン回数制限なんかもこの応用でできるね!🐱✨ wp_user_login_logテーブル wp_limit_loginテーブル login_attempts: ログイン失敗回数を記録 attempt_time: ログイン失敗 …
RDB NoSQLパフォーマンス
ざっくり覚える数字 ざっくり感が大事。 ちょっと好きかも?より大好き!の方が嬉しいでしょ? MySQL SELECTは100,000回/秒 UPDATE15,000回/秒 NoSQL SELECTは200,000〜750,000回/秒 UPDATE30,000回/秒 データサイズ感 100万レコード → 1GB ディスク オンメモリ + SSDがさいつよ …
MySQL5.7 いいね機能のSQL
SQLの実行順序おさらい SELECT 列の抽出対象 FROM テーブル名 WHERE 行の絞り込み条件 GROUP BY hoge_colum HAVING 100 > amount Aテーブルの列と行を切り出しイメージをする Bテーブルの列と行を切り出しイメージをする ONで結合条件を指定 WHEREで行を絞りこむ GROUP BYでグループ化 …
Laravel5 複合主キー
複合主キーはどういう時利用するの? 履歴系 購入者id + 商品id + 購入日時 WordPress『wp_term_relationships』テーブル 外部テーブルのサロゲートキーを集中管理 ターゲット系 例 プッシュ通知でのお知らせ お知らせテーブル お知らせターゲットテーブル お知らせターゲットテーブルはお知らせidとお知らせするu …
【工事中】閉包テーブルモデル
@see 閉包テーブル (Closure Table) に順序を持たせソートした結果を取得する 閉包テーブルモデル わかりやすい、他の特殊構造も豊富 Laravel Laravelで閉包テーブル(Closure Table) を簡単に実現してくれるライブラリ ClosureTable franzose/ClosureTable Amazonおすすめ i …
DB, API設計でのINT型
DB, API設計でのINT型留意点 データベース設計の正規化ではnullは不許可 WorkBenchのフラグ欄を真偽値型のBoolean(TINYINT)を選択する Swagger Editor ・真偽値はtypeをbooleanにする ・21億4,000万 ・超える可能性がある →BIGINT ・超えない → INT32 自動採番の主キーはBIGINT(INT64)にしています。 …