MySQLのスリープ関数の特殊現象例の詳しい説明

MySQLのスリープ関数の特殊現象例の詳しい説明

序文

MySQL のスリープ システム機能は、実用的な適用シナリオが少なく、通常は実験的なテストに使用されます。昨日、テスト中に、スリープ機能の特殊な現象を偶然発見しました。クエリ ステートメントで sleep 関数が使用されている場合、スリープ時間は返されるレコードに関連します。

次のテストに示すように:

mysql> テーブル test(id int) を作成します。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)

mysql> テストから *, sleep(6) を選択します。
空のセット (0.00 秒)

mysql> テスト値に挿入(1);
クエリは正常、1 行が影響を受けました (0.00 秒)

mysql> testから*、sleep(6)を選択します。
+------+----------+
| id | スリープ(6) |
+------+----------+
| 1 | 0 |
+------+----------+
セット1列(6.00秒)

mysql> テスト値に挿入(2);
クエリは正常、1 行が影響を受けました (0.01 秒)

mysql> testから*、sleep(6)を選択します。
+------+----------+
| id | スリープ(6) |
+------+----------+
| 1 | 0 |
| 2 | 0 |
+------+----------+
セット2列(12.00秒) 

テストの概要:

テーブルから *、sleep(n) を選択した場合、テーブル レコードが空であればスリープは発生しません。テーブル レコードが 1 の場合、スリープ時間は 1*n になります。テーブル レコードが 2 の場合、スリープ時間は 2*n ............ などになります。

公式ドキュメントの 12.24 Miscellaneous Functions ではこの現象については触れられておらず、この状況をどう説明すればいいのか全く分かりません。いくつかのシナリオを推測しましたが、すべて否定されました。とりあえずこの問題を記録しておきます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL スリープ接続過剰問題の解決策
  • PHP で sleep を使用することで発生する MySQL 読み取りエラーのケースと解決方法

<<:  portainer を使用してリモート docker に接続するチュートリアル

>>:  タブステータスバーの切り替え効果を実現するための js と jQuery

推薦する

docker run 起動パラメータ コマンドを表示する方法 (推奨)

runlike を使用してコンテナの docker run 起動パラメータを表示します。 pipを...

react-beautiful-dnd を使用してリスト間のドラッグ アンド ドロップを実装する

目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...

MySQL UPDATE ステートメントの非標準実装コード

今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...

フォーム要素の垂直方向の中央揃えに最適なソリューション

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

CSS コンテナ背景 10 色グラデーション デモ (linear-gradient())

文法 背景: linear-gradient(direction,color-stop1,color...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...

CentOS7 カーネル カーネル5.0 バージョンアップグレード

アップグレードプロセス:元のシステム: CentOS7.3 [root@my-e450 ~]# un...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

Mac OS 10.11 での MySQL 5.7.12 のインストールと設定のチュートリアル

Mac OS 10.11 に MySQL をインストールして設定する方法を、主に写真を使って手順を簡...

MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法

mysqlのrootアカウント、普段はlocalhostか127.0.0.1で接続しています。会社の...

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

MySQL 8.0.13 のインストールと設定のグラフィックチュートリアル

Msyqlデータベースのインストール、参考までに具体的な内容は次のとおりです。 ①ブラウザでhttp...

Windows Server 2008 R2 リモート デスクトップのポート 3389 を変更する方法

Windows サーバー リモート デスクトップのデフォルトのポート番号は 3389 です。職場でサ...

指定フィールドによるMySQLカスタムリストのソートの実装

問題の説明ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (i...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...