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

mysql:11742

From: "T.Sasaki" <"T.Sasaki" <papasan2000@xxxxxxxxxx>>
Date: 13 Jul 2005 20:08:56 +0900
Subject: [mysql 11742] Re: MySQLでの最大項目数につきまして

佐々木です。

> しかし、これだと追加してたら突然クラッシュというのもありそうですね。

ちょっと調べてみました。

1.MyISAM の列数上限
 列自体に制限はありません。
 但し、.frm ファイルの要素数が 4096 までに制限されており、
 この中に列の定義情報も含まれるため影響を受けます。
 私の環境では2千数百列程度で
  ERROR 1117 (HY000): Too many columns
 というエラーが発生しました。
 これは .frm ファイルの書き込み前に行われるチェックで生成されるエラーです。

2.InnoDB の列数上限
 ユーザーが定義できる列の数は1テーブル辺り 1,000 までです。
 私の環境では 1,001 列目で
  ERROR 1005 (HY000): Can't create table './xxxx/#sql-4c8_51.frm' (errno: 139)
 というエラーが発生しました。
 プログラムソースの該当箇所にはコメントが振ってあり、
 「実際の上限値は 1020 (REC_MAX_N_FIELDS - 3) だと思われるが、ここでは安全に処理する。」
 みたいなことが書いてあります。
 引き算をしてるのはシステム用の隠れ列?を考慮しているからでしょうか。
 #sql-4c8_51.frm というテンポラリテーブルが行数が多いため作成できないと怒られています。

MySQL 5.0.6-beta で確認しました。
確かにリソース不足でクラッシュする可能性は否定できませんが、
SQL injection で不正に列項目を増やされてサーバーが落ちる心配はなさそうですね。
間違ってたらどなたか訂正もしくは補足をお願いします。

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

     11693 2005-07-06 16:07 [Kenta Hashimoto <kem] 全文検索と他条件の組み合わせ            
     11694 2005-07-07 00:55 ┣[UNO Shintaro <uno@xx]                                       
     11697 2005-07-07 09:58 ┗["T.Sasaki" <papasan2]                                       
     11706 2005-07-07 20:18  ┗[Kenta Hashimoto <kem]                                     
     11707 2005-07-07 20:47   ┗["T.Sasaki" <papasan2]                                   
     11712 2005-07-07 21:39    ┗[Kenta Hashimoto <kem]                                 
     11713 2005-07-07 21:58     ┗["T.Sasaki" <papasan2]                               
     11714 2005-07-07 22:14      ┗[Kenta Hashimoto <kem]                             
     11715 2005-07-07 22:56       ┗["T.Sasaki" <papasan2]                           
     11716 2005-07-07 23:10        ┣[Kenta Hashimoto <kem]                         
     11717 2005-07-07 23:17        ┗[Kazuhiro Osawa <ko@x]                         
     11719 2005-07-08 00:14         ┣[Kenta Hashimoto <kem]                       
     11720 2005-07-08 06:25         ┗["T.Sasaki" <papasan2]                       
     11734 2005-07-09 13:45          ┗[Kazuhiro Osawa <ko@x]                     
     11735 2005-07-09 20:31           ┣["T.Sasaki" <papasan2]                   
     11736 2005-07-12 15:33           ┗["Naoi Masaaki" <naoi] MySQLでの最大項目数につきまして
     11737 2005-07-12 16:33            ┣[Tetsuro IKEDA <ikdtt]                 
     11739 2005-07-12 17:42            ┃┗["Naoi Masaaki" <naoi]               
     11738 2005-07-12 17:10            ┗[Hiroshi Moriyama <mt]                 
     11740 2005-07-12 17:47             ┣["Naoi Masaaki" <naoi]               
->   11742 2005-07-13 20:08             ┗["T.Sasaki" <papasan2]