[前][次][番号順一覧][スレッド一覧]

mysql:10860

From: SAKAI Kei <SAKAI Kei <sak@xxxxxxxxxx>>
Date: Mon, 31 Jan 2005 19:00:14 +0900
Subject: [mysql 10860] Re: auto_incrementでご質問

坂井です

> テストで9万件のレコードに対して42秒も時間が掛かってしまった為、質問
> 致しました。
  
  ALTER TABLE はテーブル定義を変更する文で、すべて全件みるもの
  だと思っていたので、RENAME オプションでは違った、ということが
  私には逆に驚きでした。

  で、時間をかけずに auto_increment値を変更する方法、
  下品なやり方(?)ですけど、

> alter table test auto_increment = 110000;
  
  のかわりに、
  
  INSERT INTO test (id) VALUES (109999);
  DELETE FROM test WHERE id = 109999;

  で、次は 110000から入ると思います:-)
  
  ただし、この後 次のレコードを INSERT する前に mysqld を再起動すると
  InnoDB の場合は、次は「現在の最大値+1」 になってしまいますので注意。
  (DBMagazine 2004/02号の松信氏の連載記事参照)

以上



On Mon, 31 Jan 2005 18:12:42 +0900
umemoto <umemoto@xxxxxxxxxx> wrote:
> 梅本です。
> 
> なるほど、その可能性は確かに考えられますね。
> ちなみに次回からのauto_increment値をセットしたい場合、ALTER TABLEの
> auto_increment以外には方法がないという認識でいるのですが。。。
> 合ってますよね。
> 
> テストで9万件のレコードに対して42秒も時間が掛かってしまった為、質問
> 致しました。
> 
> >中村@東京です。
> >
> >> ALTER TABLEのauto_incrementで
> >> alter table test auto_increment = 110000;といった具合にすると以下の
> >> ような結果が得られる。
> >>
> >> Query OK, 5 rows affected
> >> Records: 5  Duplicates: 0  Warnings: 0
> >>
> >> これで、6件目からはidは110000からのスタートになるかと思います。が、
> >> 5 rows affected(影響範囲5)これは、レコードを上から順に総なめで見て
> >> るのだと思うのですが、上から順に見る必要など果たしているのだろうか?
> >
> >「PRIMARY KEY  (`id`)」だから重複してないかの確認に一票。
> //////////////////////////////////////////////////
>   〒106-6118
>    東京都港区六本木6-10-1 六本木ヒルズ森タワー
>     ワイノット株式会社
>         技術部         梅本 勇
>                  e-mail:umemoto@xxxxxxxxxx
>                 tel:03-4523-1089
>                             fax:03-4523-1023
> //////////////////////////////////////////////////
> 



[前][次][番号順一覧][スレッド一覧]

     10854 2005-01-31 10:14 [umemoto <umemoto@xxx] auto_incrementでご質問                  
     10855 2005-01-31 17:08 ┗["Mitsutoshi Nakamura]                                       
     10856 2005-01-31 18:12  ┗[umemoto <umemoto@xxx]                                     
     10857 2005-01-31 18:33   ┣[とみたまさひろ <tomm]                                   
     10858 2005-01-31 18:50   ┃┗[umemoto <umemoto@xxx]                                 
->   10860 2005-01-31 19:00   ┗[SAKAI Kei <sak@xxxxx]