MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

テーブルを切り捨てる場合、インデックスも追加する必要がありますか?


テーブルを切り捨てる場合、テーブルは切り捨てられた後に再作成され、インデックスが自動的に追加されるため、インデックスを追加する必要はありません。

まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> FirstName varchar(20),
   -> LastName varchar(20)
   -> );
Query OK, 0 rows affected (0.65 sec)

以下は、インデックスを作成するためのクエリです-

mysql> create index Index_firstName_LastName on DemoTable(FirstName,LastName);
Query OK, 0 rows affected (1.04 sec)
Records: 0 Duplicates: 0 Warnings: 0

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(FirstName,LastName) values('John','Smith');
Query OK, 1 row affected (0.47 sec

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
|  1 | John      | Smith    |
+----+-----------+----------+
1 row in set (0.00 sec)

テーブルを切り捨てる前に、テーブルのステータスを確認する必要があります-

mysql> show create table DemoTable;

出力

これにより、次の出力が生成されます-

+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table       | Create
Table|
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable    | CREATE TABLE `DemoTable` (`Id` int(11) NOT NULL AUTO_INCREMENT,`FirstName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,`LastName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,PRIMARY KEY (`Id`),KEY `Index_firstName_LastName` (`FirstName`,`LastName`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

次に、テーブルを切り捨てます-

mysql> truncate table DemoTable;
Query OK, 0 rows affected (2.01 sec)

ここで、テーブルのステータスをもう一度確認します。インデックスを追加する必要はありません-

mysql> show create table DemoTable;

出力

これにより、次の出力が生成されます-

+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create
Table
|
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable | CREATE TABLE `DemoTable` (`Id` int(11) NOT NULL AUTO_INCREMENT,`FirstName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,`LastName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`Id`),KEY `Index_firstName_LastName` (`FirstName`,`LastName`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


  1. Gmailメッセージにテーブルを追加する方法

    これを想像してみてください。Gmailを使用して、テーブルが含まれるメールを同僚に送信したいとします。テーブル自体は小さく、メールに別のスプレッドシートを添付する必要はないようです。それで、あなたは何をしますか? 幸い、これを回避する簡単な方法は2つあります。 GoogleスプレッドシートまたはMicrosoftExcelを使用すると、添付ファイルを必要とせずに、Gmailのメール自体にテーブルを追加できます。 Googleスプレッドシートを使用してGmailテーブルを作成する方法 実際には、Gmailで独自のテーブルを作成できます。ただし、そのためにはGoogleスプレッドシートアカウン

  2. Word で目次を追加する方法

    Word 文書に目次を追加する方法を知りたい場合は、以下を読み続けてください。多数のページからなる大規模な文書を作成した後は、読者がコンテンツを簡単に閲覧できるようにする必要があります。しかし、サブチャプターは言うまでもなく、多くのページとチャプターがあります。各章にそれぞれのページ番号を手動で書くのは魅力的ではありません。書くことに集中し、代わりに自動目次を使用する必要があります。 目次 (「目次」または「TOC」とも呼ばれます) は通常、ドキュメントの最初のページにあり、ドキュメントの章とセクションとページ番号が含まれています。 このガイドでは、Microsoft Word ドキュメン