MySQL:一時テーブルを作成するときに主キーは自動的に作成されますか?

ニコラス

非常に長い時間がかかるクエリ(1100万程度の観測)と3つの結合(チェックするために停止することはできません)があります。結合の1つは、一時テーブルを使用することです。

主キーを含むテーブルのデータを使用して一時テーブルを作成すると、新しいテーブルがインデックスを引き継ぐのでしょうか、それとも(親の主キーを使用して)新しい一時テーブルにインデックスを明示的に作成する必要がありますか?テーブル)?

ポール・シュピーゲル

いいえ-明示的に定義された一時テーブルの場合、インデックスは自動的に定義されません。テーブルの作成中にインデックスを定義するか、後でALTER TABLE ..を使用してインデックスを定義する必要があります

で確認できSHOW CREATE TABLE my_temptableます。

次のスクリプトを試してください。

drop table if exists my_persisted_table;
create table my_persisted_table (
    id int auto_increment primary key,
    col varchar(50)
);
insert into my_persisted_table(col) values ('a'), ('b');

drop temporary table if exists my_temptable;
create temporary table my_temptable as 
    select * from my_persisted_table;

show create table my_temptable;

alter table my_temptable add index (id);

show create table my_temptable;

最初のSHOW CREATEステートメントにはインデックスが表示されません。

CREATE TEMPORARY TABLE `my_temptable` (
  `id` int(11) NOT NULL DEFAULT '0',
  `col` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

でインデックスを作成した後ALTER TABLE、2番目のSHOW CREATEステートメントでそれを確認できます

CREATE TEMPORARY TABLE `my_temptable` (
  `id` int(11) NOT NULL DEFAULT '0',
  `col` varchar(50) DEFAULT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

デモ:http//rextester.com/JZQCP29681

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

自動インクリメントによって作成された1つのテーブルから2番目のテーブルに外部キーとして主キーを挿入するにはどうすればよいですか?

分類Dev

SQLがOracleで実行されているときに一時/動的/仮想テーブルを作成するにはどうすればよいですか?

分類Dev

既存のテーブルがあり、一方のテーブルに主キーを自動番号付けし、もう一方のテーブルに外部キーを作成したいと思います。良い方法は何ですか?

分類Dev

views.pyからデータベースにモデルオブジェクトを作成するときに主キーを自動的に作成する方法

分類Dev

SQL Serverは、すべての列を自動的にnull許容にする一時テーブルを作成できますか?

分類Dev

MySQLのテーブルに別の主キーを作成するにはどうすればよいですか?

分類Dev

テーブル間の関係を作成するときにMySQLWorkbenchが複数のキーを自動的に作成するのはなぜですか?

分類Dev

Djangoは、既存のデータベーステーブルの主キーを自動的に作成します

分類Dev

MySQLにテーブルの主キーを暗黙的に作成する方法はありますか?

分類Dev

テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

分類Dev

テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

分類Dev

クエリの「INCLAUSE」にロットIDが含まれている場合、MS SQLServerは一時テーブルを自動的に作成しますか

分類Dev

ユーザーが別のテーブルに1つ作成すると、mysqlはテーブルに3つのレコードを自動的に作成します

分類Dev

テーブルの主キーとして複数の列を設定した場合でも、それらの一意のインデックスが自動的に作成されますか?

分類Dev

Hibernateはテーブルを作成せず、自動的に変更されます

分類Dev

DBUnitが自動的にテーブルを作成する方法はありますか?

分類Dev

一意の結合された主キーを使用してPostgresテーブルを作成するにはどうすればよいですか?

分類Dev

リストパーティションテーブルに新しいパーティションを自動的に作成することはできますか?

分類Dev

自動化されたChromeブラウザスクリプトを作成するにはどうすればよいですか?(テキストが表示されたときにページを更新します。)

分類Dev

移行Laravelで主キーと主キーを同時に作成することはできません

分類Dev

テーブル作成時に外部キーを作成するにはどうすればよいですか

分類Dev

JSONデータを使用してHTMLテーブルフィールドを自動的に作成することはできますか?

分類Dev

テーブル インスタンスを作成するときに sqlalchemy で主キーを作成する

分類Dev

Dynamo dbは、テーブルの作成中に設定された主キーが値に含まれていない限り、データをテーブルに挿入することを許可しませんか?

分類Dev

Spark Scalaで主キーを自動的に作成するにはどうすればよいですか?

分類Dev

別のテーブルが新しいレコードを取得すると、テーブルにレコードが自動的に作成されます

分類Dev

折り返されることなく、自動幅のテーブル列を作成するにはどうすればよいですか?

分類Dev

テーブルに値を挿入するときにUNIQUEIDENTIFIERは自動生成された数値ですか?

分類Dev

リレーションテーブルで自動的に作成されないのはなぜですか?(mysql内)

Related 関連記事

  1. 1

    自動インクリメントによって作成された1つのテーブルから2番目のテーブルに外部キーとして主キーを挿入するにはどうすればよいですか?

  2. 2

    SQLがOracleで実行されているときに一時/動的/仮想テーブルを作成するにはどうすればよいですか?

  3. 3

    既存のテーブルがあり、一方のテーブルに主キーを自動番号付けし、もう一方のテーブルに外部キーを作成したいと思います。良い方法は何ですか?

  4. 4

    views.pyからデータベースにモデルオブジェクトを作成するときに主キーを自動的に作成する方法

  5. 5

    SQL Serverは、すべての列を自動的にnull許容にする一時テーブルを作成できますか?

  6. 6

    MySQLのテーブルに別の主キーを作成するにはどうすればよいですか?

  7. 7

    テーブル間の関係を作成するときにMySQLWorkbenchが複数のキーを自動的に作成するのはなぜですか?

  8. 8

    Djangoは、既存のデータベーステーブルの主キーを自動的に作成します

  9. 9

    MySQLにテーブルの主キーを暗黙的に作成する方法はありますか?

  10. 10

    テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

  11. 11

    テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

  12. 12

    クエリの「INCLAUSE」にロットIDが含まれている場合、MS SQLServerは一時テーブルを自動的に作成しますか

  13. 13

    ユーザーが別のテーブルに1つ作成すると、mysqlはテーブルに3つのレコードを自動的に作成します

  14. 14

    テーブルの主キーとして複数の列を設定した場合でも、それらの一意のインデックスが自動的に作成されますか?

  15. 15

    Hibernateはテーブルを作成せず、自動的に変更されます

  16. 16

    DBUnitが自動的にテーブルを作成する方法はありますか?

  17. 17

    一意の結合された主キーを使用してPostgresテーブルを作成するにはどうすればよいですか?

  18. 18

    リストパーティションテーブルに新しいパーティションを自動的に作成することはできますか?

  19. 19

    自動化されたChromeブラウザスクリプトを作成するにはどうすればよいですか?(テキストが表示されたときにページを更新します。)

  20. 20

    移行Laravelで主キーと主キーを同時に作成することはできません

  21. 21

    テーブル作成時に外部キーを作成するにはどうすればよいですか

  22. 22

    JSONデータを使用してHTMLテーブルフィールドを自動的に作成することはできますか?

  23. 23

    テーブル インスタンスを作成するときに sqlalchemy で主キーを作成する

  24. 24

    Dynamo dbは、テーブルの作成中に設定された主キーが値に含まれていない限り、データをテーブルに挿入することを許可しませんか?

  25. 25

    Spark Scalaで主キーを自動的に作成するにはどうすればよいですか?

  26. 26

    別のテーブルが新しいレコードを取得すると、テーブルにレコードが自動的に作成されます

  27. 27

    折り返されることなく、自動幅のテーブル列を作成するにはどうすればよいですか?

  28. 28

    テーブルに値を挿入するときにUNIQUEIDENTIFIERは自動生成された数値ですか?

  29. 29

    リレーションテーブルで自動的に作成されないのはなぜですか?(mysql内)

ホットタグ

アーカイブ