MySQLサーバーのCPU使用率100%対策:システムレベルでの特定からクエリ最適化まで
システム全体の負荷が急増しリソースが逼迫している状況では、まずオペレーティングシステムの観点から原因を絞り込む必要があります。以下の手順に従って、データベースプロセスが資源争奪の起因となっているかを確認し、適切な対処を行います。
top -bcn1 | head -20
上記コマンドの実行により、即時かつ定型出力されたプロセス一覧の中から%CPU値が突出しているものを ...
7月26日 02:43 投稿
ログシステム設計に関する面接問題
逆順ページネーションを用いたログ一覧ページの実装方法
目標:「発生時刻で逆順に表示し、スクロールでページ遷移(SNS風)して最新の50件を取得する」ログシステムの設計を実現する。
要件概要
各ログは発生時刻(タイムスタンプ)と内容(最大500文字)を持つ。
最新の50件を表示し、下方向へのスクロールによるページ遷移をサポートする。
ページ遷移時に重複や漏れが ...
6月24日 01:11 投稿
MySQLにおける大規模データ処理の最適化手法:1000万件レコードの高速集計実践
MySQLで1000万件を超えるデータを扱う場合、適切な設計が欠かせません。本稿では、既存スキーマの制約下でクエリ性能を劇的に改善する手法を解説します。
テスト環境構築
以下のスキーマで1500万件のトランザクションデータを生成します。
CREATE TABLE `transactions` (
`transaction_id` INT NOT NULL AUTO_INCREMENT,
`customer_id` INT DEFAULT NULL,
`transact ...
6月18日 20:36 投稿
MySQLクエリ性能最適化の実践手法
環境設定
Linuxサーバー:8GBメモリ
MySQL 8.0.20
事前準備
テーブル設計
CREATE TABLE `orders` (
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主キー',
`order_code` VARCHAR(255) COMMENT '注文番号',
`item_code` VARCHAR(255) COMMENT '商品コード',
`item_name` VARCHAR(255) COMMENT '商品名',
`client_code` VARCHAR(255) COMMENT '顧客コード' ...
6月5日 21:47 投稿