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 効果 (オフセット、クライアント、スクロール シリーズ) を実装します。

推薦する

Linuxでホスト名を永続的に変更する方法

ホスト名を変更する場合は、以下の手順に従ってください。ホスト名の使用hostnameコマンドを使用す...

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

Linux ホスト上で複数の MySQL データベースを起動する方法

今日は、Linux ホスト上で 4 つの MySQL データベースを起動する方法について説明します。...

VMware仮想マシンブリッジによるインターネット相互接続を実現する方法

VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...

Linuxコマンドとファイル検索の詳しい説明

1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...

CSSは背景画像の画面適応を実現する

ログインページなどのホームページを作成する場合、大きな背景画像を配置する必要があり、さまざまな画面の...

Webデザインチュートリアル(1):手順と全体レイアウト

<br />注:ウェブサイトの種類を示すものを除くすべてのテキストは、企業サイト用です。...

MySQLデータベースのストアドプロシージャとトランザクションの違い

トランザクションは、複数の SQL ステートメントの原子性、つまり、それらが一緒に完了するか、一緒に...

MySQLでトリガーを作成する方法

この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...

Windows 10 インストール vmware14 チュートリアル図

ソフトウェアのダウンロードソフトウェアのダウンロード リンク: https://pan.baidu....

Linux で仮想コンソール セッションをロックする方法

共有システムで作業しているときは、他のユーザーが自分のコンソールを覗き込んで、自分が何をしているか見...

MySQL、Oracle、SQL Server のページングクエリ例の分析

最近、Oracle、MySQL、SQL Server 2005 のデータ ページング クエリについて...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

航空機戦争ゲームを実装するためのJavaScript

この記事では、キャンバスとjsを使用して簡単な飛行機戦争を実装する方法を参考までに紹介します。具体的...

HTML におけるベースタグの使用に関する詳細な説明

requireJS には、baseURL というプロパティがあります。baseURL を設定すること...