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

推薦する

el-tree での不完全なテキスト表示の解決策

目次方法1: 水平スクロールバーを設定する最も簡単な方法方法2(新規):ドラッグバーを追加して外側の...

Linux の高性能ネットワーク IO と Reactor モデルの分析

目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...

JDBC 接続 (MySQL への接続) の 6 ステップのサンプル コード

JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...

HTML でのアンカーポイントの適用

アンカーポイントの設定<a name="トップ"></a>...

Linux で削除できないファイル/フォルダの解決方法

序文最近、弊社のサーバーがハッカーの攻撃を受け、一部のファイルの属性が変更されたため、ウイルスファイ...

Nodeはリクエスト追跡にasync_hooksモジュールを使用します

async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...

グローバルトーストコンポーネントをカプセル化するVueの完全な例

目次序文1. vue-cliを使う1. Toastコンポーネントを定義する2. main.jsで設定...

モバイルウェブサイトの開発に関するいくつかの結論

ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...

MySQLセグメンテーション関数substring()の具体的な使用法

MySQL には、主に left()、right()、substring()、substring_i...

CSS 透明ボーダー背景クリップマジック

この記事では、CSSの透明な境界線の背景クリップの素晴らしい使い方を主に紹介し、みんなと共有し、自分...

Linux での wget コマンドの基本的な使い方

目次序文1. wgetを使用して単一のファイルをダウンロードする2. wget -Oを使用してダウン...

Linuxでシンボリックリンクを削除(削除)するコマンド

Linux では、シンボリック リンクを作成または削除する必要がある場合があります。もしそうなら、何...

Linuxのwhichコマンドの具体的な使い方

Linux でファイルを見つけたいのに、その場所がわからないことがよくあります。次のコマンドを使用し...

ウェブページで CSS スタイルを適用するさまざまな形式の概要

1. インライン スタイル (<body></body> 内に配置されます)...

Docker で Python スクリプトを実行する方法

まず、Docker イメージ用の特定のプロジェクト ディレクトリを作成します。例: mkdir /h...