MySQL テーブルタイプ ストレージエンジンの選択

MySQL テーブルタイプ ストレージエンジンの選択

1. 現在のデータベース支出のストレージエンジンを表示する

方法1:

mysql> エンジンを表示 \G;
************************** 1. 行 ****************************
      エンジン: InnoDB
     サポート: はい
     コメント: トランザクション、行レベルのロック、外部キーをサポートします
取引: はい
          はい
  セーブポイント: はい
************************** 2. 行 ****************************
      エンジン: MRG_MYISAM
     サポート: はい
     コメント: 同一の MyISAM テーブルのコレクション
取引: なし
          いいえ
  セーブポイント: なし
************************** 3. 行 ****************************
      エンジン: メモリ
     サポート: はい
     コメント: ハッシュベース、メモリに保存、一時テーブルに便利
取引: なし
          いいえ
  セーブポイント: なし
************************** 4. 行 ****************************
      エンジン: ブラックホール
     サポート: はい
     コメント: /dev/null ストレージ エンジン (書き込んだものはすべて消えます)
取引: なし
          いいえ
  セーブポイント: なし
************************** 5. 行 ****************************
      エンジン: MyISAM
     サポート: デフォルト
     コメント: MyISAM ストレージ エンジン
取引: なし
          いいえ
  セーブポイント: なし
************************** 6. 行 ****************************
      エンジン: CSV
     サポート: はい
     コメント: CSV ストレージ エンジン
取引: なし
          いいえ
  セーブポイント: なし
************************** 7. 行 ****************************
      エンジン: アーカイブ
     サポート: はい
     コメント: アーカイブストレージエンジン
取引: なし
          いいえ
  セーブポイント: なし
************************** 8. 行 ****************************
      エンジン: PERFORMANCE_SCHEMA
     サポート: はい
     コメント: パフォーマンス スキーマ
取引: なし
          いいえ
  セーブポイント: なし
************************** 9. 行 ****************************
      エンジン: FEDERATED
     サポート: いいえ
     コメント: フェデレーテッド MySQL ストレージ エンジン
トランザクション: NULL
          XA: NULL
  セーブポイント: NULL
セット内の行数は 9 です (0.00 秒)

エラー:
クエリが指定されていません

方法2:

(値が「 DISABLED 」のレコードは、ストレージ エンジンはサポートされているが、データベースの起動時に無効になっていることを示します。)

mysql> 'have%' のような変数を表示します。
+------------------------+-----------+
| 変数名 | 値 |
+------------------------+-----------+
| 圧縮あり | はい |
| 暗号化あり | いいえ |
| 動的ロードあり | はい |
| ジオメトリを持つ | はい |
| have_openssl | 無効 |
| プロファイリングあり | はい |
| クエリキャッシュがある | はい |
| rtree_keys を持つ | はい |
| have_ssl | 無効 |
| ステートメントタイムアウトがある | はい |
| シンボリックリンクがある | はい |
+------------------------+-----------+
セット内の行数は 11 行、警告数は 1 (0.00 秒)

2. ENGINE={ストレージ エンジン タイプ} テーブルを作成するときにストレージ エンジンを設定します。

mysql> テーブル a( を作成
    -> i bigint(20) は null ではない auto_increment、
    -> 主キー (i)
    ->) エンジン=myisam デフォルトの文字セット=gbk;
エラー 2006 (HY000): MySQL サーバーが消えました
接続できません。再接続を試行しています...
接続ID: 3
現在のデータベース: テスト

クエリは正常、影響を受けた行は 0 行 (1.33 秒)

3. テーブルを別のストレージエンジンに変更するには、alterable tablename engine={ストレージエンジンタイプ} を実行します。

mysql> テーブルを変更します。 engine=innodb;
クエリは正常、影響を受けた行は 0 行 (1.70 秒)
レコード: 0 重複: 0 警告: 0

mysql> show テーブルを作成します \G;
************************** 1. 行 ****************************
       表:
テーブルの作成: CREATE TABLE `a` (
  `i` bigint(20) NOT NULL AUTO_INCREMENT、
  主キー (`i`)
) エンジン=InnoDB デフォルト文字セット=gbk
セット内1列(0.14秒)

3.1 一般的なストレージエンジンの比較

特徴マイISAM翻訳メモリマージNDB
ストレージ制限持っている64TB持っているいいえ持っている
取引のセキュリティサポート
ロック機構テーブルロック行ロックテーブルロックテーブルロックテーブルロック
Bツリーインデックスサポートサポートサポートサポートサポート
ハッシュインデックスサポートサポート
全文索引サポート
クラスターインデックスサポート
データキャッシュサポートサポートサポート
インデックスキャッシュサポートサポートサポートサポートサポート
データは圧縮できるサポート
スペースの使用低い高い該当なし低い低い
メモリ使用量低い高い中くらい低い高い
バッチ挿入速度高い低い高い高い高い
外部キーをサポートサポート

3.2 一般的なストレージ エンジン (MyISAM、InnoDB、MEMORY、MERGE) の学習

マイISAM:

デフォルトのMySQLストレージ エンジンは、トランザクションと外部キーをサポートしていません。

利点:アクセス速度が速い

MyISAM 、ファイル名とテーブル名が同じ 3 つのファイルとしてディスク上に保存されます。拡張子は次のとおりです:

.frm (テーブル定義を保存)

.MYD (MYData、ストレージデータ)

.MYI (MYIndex、ストレージインデックス)

(データ ファイルとインデックス ファイルを異なるディレクトリに配置すると、IO が均等に分散され、速度が向上します。)

InnoDB:

処理効率が悪く、データとインデックスを保存するために多くのスペースが使用されます。

利点:コミット、ロールバック、クラッシュリカバリ機能を備えたトランザクションセキュリティ、外部キーをサポートする唯一のストレージエンジン

自動拡張列: InnoDBテーブルの自動拡張列は手動で挿入できますが、挿入された値が空または 0 の場合、実際に挿入される値は自動拡張後の値になります。

mysql>テーブルautoincre_demo(を作成します
    -> i smallint not null auto_increment、
    -> 名前varchar(10),主キー(i)
    ->)エンジン=innodb;
エラー 2006 (HY000): MySQL サーバーが消えました
接続できません。再接続を試行しています...
接続ID: 5
現在のデータベース: テスト

クエリは正常、影響を受けた行は 0 行 (1.19 秒)

mysql> autoincre_demo に値 (1、"121")、(0、"dddf")、(null、"fdf") を挿入します。
クエリは正常、3 行が影響を受けました (0.59 秒)
記録: 3 重複: 0 警告: 0

mysql> autoincre_demo から * を選択します。
+---+------+
| 私 | 名前 |
+---+------+
| 1 | 121 |
| 2 | dddf |
| 3 | フォント |
+---+------+
セット内の 3 行 (0.00 秒)

alter table tabename auto_increment=n 自動増分列の初期値を設定します(この値はデフォルトで 1 から始まります)

LAST_INSERT_ID()を使用すると、現在のスレッドが最後のレコードを挿入するために使用した値を照会できます。複数のレコードが一度に挿入された場合、最初のレコードで使用される自動インクリメント値が返されます。

次の例は、LAST_INSERT_ID() の使用方法を示しています。

mysql> autoincre_demo(name) に値('3') を挿入します。
クエリは正常、1 行が影響を受けました (0.36 秒)

mysql> LAST_INSERT_ID() を選択します。
+------------------+
| 最後の挿入ID() |
+------------------+
| 15 |
+------------------+
セット内の 1 行 (0.00 秒)

mysql> autoincre_demo(name) に値('3'),('6'),('323'),('21') を挿入します。
クエリは正常、4 行が影響を受けました (0.09 秒)
記録: 4 重複: 0 警告: 0

mysql> LAST_INSERT_ID() を選択します。
+------------------+
| 最後の挿入ID() |
+------------------+
| 16 |
+------------------+
セット内の 1 行 (0.00 秒)


外部キー制約:

外部キーを作成する場合、親テーブルには対応するインデックスが必要です。また、外部キーを作成すると、子テーブルでは対応するインデックスが自動的に作成されます。

以下はサンプル データベースの 2 つのテーブルです。country countryは親テーブルcountry_id主キー インデックスですcityテーブルは子テーブルで、country_id フィールドにはcountryテーブルのcountry_idフィールドへの外部キーがあります。

mysql> countryテーブルを作成(
    -> country_id smallint unsigned not null auto_increment,
    -> 国varchar(50)がnullではない、
    -> last_update timestamp は null ではなく、更新時のデフォルトの current_timestamp は current_timestamp です。
    -> 主キー(country_id)
    -> )engine=innodb デフォルトの文字セット=utf8;

クエリは正常、影響を受けた行は 0 行 (0.86 秒)
mysql> テーブル city を作成します (
    -> city_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT、
    -> 都市 VARCHAR(50) NOT NULL、
    -> country_id SMALLINT UNSIGNED NOT NULL、
    -> last_update TIMESTAMP NOT NULL デフォルト CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP、
    -> 主キー (city_id)、
    -> キー idx_fk_country_id (国ID)、
    -> 制約 `fk_city_country` 外部キー (country_id) 参照 country (country_id) ON
    -> 更新カスケードの削除制限
    -> )ENGINE=InnoDB デフォルト文字セット=utf8;
クエリは正常、影響を受けた行は 0 行 (3.22 秒)

インデックスを作成するときに、親テーブルが削除または更新されたときに子テーブルに対して実行される対応する操作RESTRICT 、CASCADE、SET NULL、NO ACTIONなど)を指定できます。

  • RESTRICTNO ACTIONと同じで、子テーブルに関連レコードがある場合は親テーブルを更新できないことを意味します。
  • CASCADE 、親テーブルが更新または削除されると、子テーブル内の対応するレコードも更新または削除されることを意味します。
  • SET NULL 、親テーブルが更新または削除されると、子テーブルの対応するフィールドがSET NULLことを意味します。
mysql> 国から*を選択します。
+------------+---------+---------------------+
| 国ID | 国 | 最終更新日 |
+------------+---------+---------------------+
| 1 | AAA | 2021-06-16 15:09:22 |
+------------+---------+---------------------+
セット内の 1 行 (0.00 秒)

mysql> city から * を選択します。
+---------+------+------------+---------------------+
| 都市 ID | 都市 | 国 ID | 最終更新日 |
+---------+------+------------+---------------------+
| 10 | bb | 1 | 2021-06-16 15:11:45 |
+---------+------+------------+---------------------+
セット内の 1 行 (0.00 秒)

mysql> country_id = 1 の国から削除します。
エラー 1451 (23000): 親行を削除または更新できません: 外部キー制約が失敗しました (`test`.`city`、制約 `fk_city_country` FOREIGN KEY (`country_id`) は UPDATE CASCADE で `country` (`country_id`) を参照します)

mysql> 国を更新します。country_id を 10000 に設定します。country_id は 1 です。
クエリは正常、1 行が影響を受けました (0.62 秒)
一致した行: 1 変更された行: 1 警告: 0

mysql> 国から*を選択します。
+------------+---------+---------------------+
| 国ID | 国 | 最終更新日 |
+------------+---------+---------------------+
| 10000 | AAA | 2021-06-16 15:13:35 |
+------------+---------+---------------------+
セット内の 1 行 (0.00 秒)

mysql> 都市から*を選択
    -> ;
+---------+------+------------+---------------------+
| 都市 ID | 都市 | 国 ID | 最終更新日 |
+---------+------+------------+---------------------+
| 10 | bb | 10000 | 2021-06-16 15:11:45 |
+---------+------+------------+---------------------+
セット内の 1 行 (0.00 秒)

複数のテーブルからデータをインポートする場合、テーブルのインポート順序を無視する必要がある場合は、外部キー チェックを一時的にオフにすることができます。同様に、 LOAD DATAおよびALTER TABLE操作を実行する場合、外部キー制約を一時的にオフにすることで処理を高速化できます。これらをオフにするコマンドは、「 SET FOREIGN_KEY_CHECKS = 0 ;」です。実行が完了したら、「 SETFOREIGN_KEY_CHECKS = 1 ;」ステートメントを実行して、元の状態に戻します。

テーブルの外部キー情報を表示する: show create tableまたはshow table statusコマンド

mysql> 'city' のようなテーブルステータスを表示します \G;
************************** 1. 行 ****************************
           名前: 都市
         エンジン: InnoDB
        バージョン: 10
     行形式: 動的
           行数: 1
 平均行長: 16384
    データ長: 16384
最大データ長: 0
   インデックスの長さ: 16384
      データ空き容量: 0
 自動増分: 11
    作成時間: 2021-06-16 15:02:17
    更新時間: 2021-06-16 15:13:35
     チェック時間: NULL
      照合順序: utf8_general_ci
       チェックサム: NULL
 作成オプション:
        コメント:
セット内1列(0.43秒)

エラー:
クエリが指定されていません
 

保管方法:

  • (1)共有テーブルスペースストレージを使用する:テーブル構造は.frmファイルに保存され、データ+インデックスはinnodb_data_home_dirinnodb_data_file_pathで定義されたテーブルスペースに保存されます。これらのファイルは複数にすることができます。
  • (2)マルチテーブルスペースストレージを使用する:テーブル構造も.frmファイルに保存され、データ+インデックスはibdに個別に存在します。パーティションテーブルの場合、各パーティションは個別の.ibdファイルに対応します。ファイル名は「テーブル名+パーティション名」です。パーティションを作成するときに、パーティションごとにデータファイルの場所を指定して、テーブルのIOを複数のディスクに均等に分散することができます。

メモリ:

メモリに保存された内容を使用してテーブルを作成する

各 MEMORY テーブルは実際には 1 つのディスク ファイルにのみ対応し、形式はfrmです。

利点:アクセス速度が速く (データはメモリに保存されます)、デフォルトで HASH インデックスが使用されます。サービスがシャットダウンされるとデータは失われます。

mysql> テーブル tab_memory を作成 ENGINE=MEMORY
    -> 都市ID、都市、国IDを選択
    -> FROM city GROUP BY city_id;
エラー 2006 (HY000): MySQL サーバーが消えました
接続できません。再接続を試行しています...
接続ID: 12
現在のデータベース: テスト

クエリは正常、1 行が影響を受けました (0.62 秒)
記録: 1 重複: 0 警告: 0

mysql> tab_memory から * を選択します。
+---------+------+------------+
| 都市 ID | 都市 | 国 ID |
+---------+------+------------+
| 10 | bb | 10000 |
+---------+------+------------+
セット内の 1 行 (0.00 秒)

mysql> 'tab_memory' のようなテーブルステータスを表示します \G
************************** 1. 行 ****************************
           名前: tab_memory
         エンジン: メモリ
        バージョン: 10
     行形式: 固定
           行数: 1
 平均行長: 155
    データ長: 520320
最大データ長: 65011650
   インデックスの長さ: 0
      データ空き容量: 0
 自動増分: NULL
    作成時間: 2021-06-16 15:28:58
    更新時間: NULL
     チェック時間: NULL
      照合順序: utf8_unicode_ci
       チェックサム: NULL
 作成オプション:
        コメント:
セット内の 1 行 (0.00 秒)

テーブルのインデックスを作成するときに、インデックスの種類をHASHまたはBTREEとして指定できます。

mysql> tab_memory(city_id) のハッシュを使用してインデックス mem_hash を作成します。
エラー 2006 (HY000): MySQL サーバーが消えました
接続できません。再接続を試行しています...
接続ID: 13
現在のデータベース: テスト

クエリは正常、1 行が影響を受けました (0.63 秒)
記録: 1 重複: 0 警告: 0

mysql> tab_memory からインデックスを表示 \G;
************************** 1. 行 ****************************
        テーブル: tab_memory
   非ユニーク: 1
     キー名: mem_hash
 インデックス内のシーケンス: 1
  列名: 都市ID
    照合: NULL
  カーディナリティ: 1
     サブパート: NULL
       パック: NULL
         ヌル:
   インデックスタイプ: HASH
      コメント:
インデックスコメント:
セット内1列(0.32秒)

エラー:
クエリが指定されていません

mysql> tab_memory のインデックス mem_hash を削除します。
クエリは正常、1 行が影響を受けました (0.31 秒)
記録: 1 重複: 0 警告: 0

mysql> tab_memory(city_id) に btree を使用してインデックス mem_hash を作成します。
クエリは正常、1 行が影響を受けました (0.16 秒)
記録: 1 重複: 0 警告: 0

mysql> tab_memory からインデックスを表示 \G;
************************** 1. 行 ****************************
        テーブル: tab_memory
   非ユニーク: 1
     キー名: mem_hash
 インデックス内のシーケンス: 1
  列名: 都市ID
    照合: A
  カーディナリティ: NULL
     サブパート: NULL
       パック: NULL
         ヌル:
   インデックスタイプ: BTREE
      コメント:
インデックスコメント:
セット内の 1 行 (0.00 秒)

エラー:
クエリが指定されていません
 

マージ:

このストレージサービスはMyISAMテーブルのグループの組み合わせです

MERGEタイプのテーブルは、クエリ、更新、および削除が可能です。これらの操作は、実際の内部MyISAMテーブルに対して実行されます。

MERGEタイプのテーブルに対する挿入操作の場合、挿入するテーブルはINSERT_METHOD句によって定義されます。この句には 3 つの異なる値を指定できます。FIRST または LAST 値を使用すると、挿入操作はそれぞれ最初のテーブルまたは最後のテーブルに対して実行されます。この句を定義しないか、NO として定義すると、この MERGE テーブルに対して挿入操作を実行できなくなります。

MERGEテーブルに対して DROP 操作を実行できます。この操作では MERGE の定義のみが削除され、内部テーブルには影響しません。

ストレージファイル: 1 つの.frmファイルにはテーブル定義が保存され、もう 1 つの.MRGファイルには、 MERGEテーブルがどのテーブルで構成されているか、新しいデータを挿入するための基礎など、結合されたテーブルの情報が含まれます。

mysql> テーブルpayment_2020(を作成します
    -> 国ID 小整数、
    -> 支払い日 日時、
    -> 金額 DECIMAL(15,2)、
    -> キー idx_fk_country_id (国ID)
    ->)エンジン=myisam;
クエリは正常、影響を受けた行は 0 行 (0.25 秒)

mysql> テーブルpayment_2021(を作成します
    -> 国ID 小整数、
    -> 支払い日 日時、
    -> 金額 DECIMAL(15,2)、
    -> キー idx_fk_country_id (国ID)
    ->)エンジン=myisam;
クエリは正常、影響を受けた行は 0 行 (0.54 秒)

mysql> テーブルpayment_all(を作成します
    -> 国ID 小整数、
    -> 支払い日 日時、
    -> 金額 DECIMAL(15,2)、
    -> INDEX(国ID)
    -> )engine=merge union=(payment_2020,payment_2021) INSERT_METHOD=LAST;
クエリは正常、影響を受けた行は 0 行 (0.47 秒)


2020年と2021年にそれぞれデータを挿入し、クエリを実行します。

mysql> payment_2020 に値(1,'2020-06-01',100000),(2,'2020-06-15',150000)を挿入します。
クエリは正常、2 行が影響を受けました (0.00 秒)
記録: 2 重複: 0 警告: 0

mysql> payment_2021 に値(1,'2021-04-20',35000),(2,'2021-06-15',220000)を挿入します。
クエリは正常、2 行が影響を受けました (0.03 秒)
記録: 2 重複: 0 警告: 0

mysql> payment_2020 から * を選択します。
+------------+---------------------+-----------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-----------+
| 1 | 2020-06-01 00:00:00 | 100000.00 |
| 2 | 2020-06-15 00:00:00 | 150000.00 |
+------------+---------------------+-----------+
セット内の 2 行 (0.00 秒)

mysql> payment_2021 から * を選択します。
+------------+---------------------+-----------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-----------+
| 1 | 2021-04-20 00:00:00 | 35000.00 |
| 2 | 2021-06-15 00:00:00 | 220000.00 |
+------------+---------------------+-----------+
セット内の 2 行 (0.00 秒)

mysql> payment_all から * を選択します。
+------------+---------------------+-----------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-----------+
| 1 | 2020-06-01 00:00:00 | 100000.00 |
| 2 | 2020-06-15 00:00:00 | 150000.00 |
| 1 | 2021-04-20 00:00:00 | 35000.00 |
| 2 | 2021-06-15 00:00:00 | 220000.00 |
+------------+---------------------+-----------+
セット内の 4 行 (0.00 秒)

payment_allテーブルのデータは、 payment_2020テーブルとpayment_2021テーブルのレコードが結合された結果セットであることがわかります。

次に、 MERGEテーブルにレコードを挿入します。MERGE テーブルの定義はINSERT_METHOD=LASTなので、レコードは最後のテーブルに挿入されます。したがって、ここで挿入されたレコードMERGE 2006 年のものですが、 payment_2021テーブルに書き込まれます。

mysql> payment_all に値(3,'2020-03-30',12333131)を挿入します。
クエリは正常、1 行が影響を受けました (0.31 秒)

mysql> payment_all から * を選択します。
+------------+---------------------+-------------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-------------+
| 1 | 2020-06-01 00:00:00 | 100000.00 |
| 2 | 2020-06-15 00:00:00 | 150000.00 |
| 1 | 2021-04-20 00:00:00 | 35000.00 |
| 2 | 2021-06-15 00:00:00 | 220000.00 |
| 3 | 2020-03-30 00:00:00 | 12333131.00 |
+------------+---------------------+-------------+
セット内の行数は 5 です (0.00 秒)

mysql> payment_2021 から * を選択します。
+------------+---------------------+-------------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-------------+
| 1 | 2021-04-20 00:00:00 | 35000.00 |
| 2 | 2021-06-15 00:00:00 | 220000.00 |
| 3 | 2020-03-30 00:00:00 | 12333131.00 |
+------------+---------------------+-------------+
セット内の 3 行 (0.00 秒)

mysql> payment_2020 から * を選択します。
+------------+---------------------+-----------+
| 国ID | 支払日 | 金額 |
+------------+---------------------+-----------+
| 1 | 2020-06-01 00:00:00 | 100000.00 |
| 2 | 2020-06-15 00:00:00 | 150000.00 |
+------------+---------------------+-----------+
セット内の 2 行 (0.00 秒)

これで、MySQL テーブル型ストレージ エンジンの選択に関するこの記事は終了です。MySQL テーブル型ストレージ エンジンに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL データ分析ストレージエンジンの例の説明
  • MySQLデータベースでサポートされているストレージエンジンの比較
  • MySQL のストレージ エンジンの違いと比較
  • 一般的なMySQLストレージエンジンの長所と短所
  • MySQLストレージエンジンについて学びましょう

<<:  2013年のウェブデザインUIの最もホットなトレンド最も人気のあるUIデザイン

>>:  JavaScript は 3 つの一般的な Web 効果 (オフセット、クライアント、スクロール シリーズ) を実装します。

推薦する

同じドメイン名を持つ Nginx プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順

フロントエンド プロジェクトとバックエンド プロジェクトは分離されており、フロントエンドとバックエン...

Apache Flink の任意の Jar パッケージのアップロードにより、リモート コード実行の脆弱性が再発する問題が発生する (脆弱性警告)

脆弱性の説明Apache Flink は、分散ストリームおよびバッチ データ処理用のオープン ソース...

CSS (カスケーディング スタイル シート) の一般的な用語の概要

CSS を使用する場合は、DOCTYPE (ドキュメント タイプ定義) を記述することを忘れないでく...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

JS関数の継承について学ぶ記事

目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...

nginx ip ブラックリストの動的禁止の例

ウェブサイトが悪意を持ってリクエストされた場合、IP アドレスをブラックリストに登録することは重要な...

マークアップ言語 - フレーズ要素

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します

ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...

MySQL 学習 (VII): Innodb ストレージ エンジン インデックスの実装原理の詳細説明

概要データベースでは、ツリー ディレクトリと同様に、インデックスを使用してデータ検索を高速化します。...

Dockerボリュームマウントの実装方法

最も単純な hello world 出力イメージを作成することは最も簡単なスタートですが、実行中のコ...

Vue+swiperでタイムライン効果を実現

この記事では、タイムライン効果を実現するためのvue+swiperの具体的なコードを参考までに共有し...

Linux サーバーが処理できる接続数をご存知ですか?

序文まず、TCP 接続を識別する方法を見てみましょう。システムは、(src_ip、src_port、...

MySQL 基本チュートリアル: DML ステートメントの詳細な説明

目次DMLステートメント1. レコードを挿入する2. 記録を更新する3. シンプルなクエリレコード4...

CSSはリモコンのボタンを模倣する

注: このデモはミニプログラム環境でテストされており、他の h5 および pc Web ページにも適...