0

したがって、データを入力するテーブルを作成するクラスがあります。現在、すべての列名が同じです(product_name、dateなど)。Webminでテーブルを表示すると、インデックスを使用しているテーブルが2つあると思われるにもかかわらず、「product_date」という名前のインデックスが1つしかないことに気付きました。これは良くないと思います。

私の質問は、これが将来紛争を引き起こすかどうかです。後ですべてを再構築する必要があるだけの場合は、テーブルに数千行を入力したくありません。私がこれに最初に遭遇したことを想像することはできません...多分私はインデックスがどのように機能するか/webminがインデックスを表示する方法について誤って知らされており、過度に妄想的です。

(編集)

以下の1つのコメントに応えて、SHOWCREATETABLEテーブル名の結果は次のとおりです。

 c_1    | CREATE TABLE c_1 (
  p_id int(11) NOT NULL auto_increment,
  nm varchar(100) NOT NULL,
  m_name text NOT NULL,
  PRIMARY KEY  (p_id),
  KEY nm (nm),
  FULLTEXT KEY m_name (m_name)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

 c_2    | CREATE TABLE c_2 (
  p_id int(11) NOT NULL auto_increment,
  ne varchar(100) NOT NULL,
  m_name text NOT NULL,
  PRIMARY KEY  (p_id),
  KEY nm (nm),
  FULLTEXT KEY metaphone_name (m_name)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

同等の列のすべてのインデックスには同じ名前が付けられていることに注意してください。

4

2 に答える 2

1

テーブルごとのインデックスなら問題ない

于 2010-12-03T16:23:47.080 に答える
0

私があなたの質問を正しく理解している場合 (大きな if)、テーブルごとにインデックスを作成する必要があります。MySQL が処理するとは思わない、インデックス付き/マテリアライズド ビューなどの高度な概念に入るまで、インデックスは複数のテーブルをカバーしません。

于 2010-12-03T16:02:01.463 に答える