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

推薦する

MAC で MySQL のデフォルトの文字セットを utf8 に変更する方法

1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...

更新SQL文に基づくMySQLロックの理解

序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

Linux のファイル権限とグループ変更コマンドの詳細な説明

Linux では、すべてがファイルであり (ディレクトリもファイルです)、各ファイルにはユーザーに対...

MySQL マスタースレーブレプリケーションの詳細な分析

序文: MySQL では、マスター/スレーブ アーキテクチャが最も基本的かつ最も一般的に使用されるア...

Vue の計算プロパティとプロパティリスニングについての簡単な説明

目次1. 計算プロパティ構文: 1. 省略形:文法: 2. 文章を完成させる: 2. モニタリング(...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル (Windows の場合)

この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...

HTMLでvueとel​​ement-uiを直接参照する方法

コードは次のようになります。 <!DOCTYPE html> <html> ...

JavaScript WebAPI、DOM、イベント、操作要素例の詳しい説明

目次ウェブAPI DOM DOMツリーDOM要素取得方法ドキュメントオブジェクトのプロパティイベント...

アップロード画像コントロールを実現するネイティブ js

この記事の例では、アップロード画像コントロールを実装するためのjsの具体的なコードを参考までに共有し...

MySQL 外部キー制約とテーブル関係の概要

目次外部キーテーブルの関係を決定する方法テーブル関係を作成する方法1対多の関係 - 従業員テーブルと...

Linx awk入門チュートリアルの詳細な説明

Awk はテキスト ファイルを処理するためのアプリケーションであり、ほぼすべての Linux システ...

Windows に Docker と docker-compose スイートをインストールするための詳細なチュートリアル

目次導入ダウンロードしてインストールする設定docker-composeをインストールする導入Doc...

vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...