異なる情報を含む同じ列名を持つインデックスを持つ2つのテーブル…競合はありますか?
質問
そこで、データを入力するテーブルを作成するクラスがあります。今、私はすべての列名を同じ(Product_Name、日付など)に持っています。 Webminでテーブルを表示すると、インデックスを使用して2つのテーブルがあると思われるという事実にもかかわらず、「Product_Date」という名前のインデックスが1つしかないことに気付きました。これは良いことではないと思います。
私の質問は、これが将来紛争を引き起こすかどうかですか?後ですべてを再構築する必要がある場合、テーブルに何千行の行を入力したくありません。私がこれに最初に遭遇したことを想像することはできません...多分私はインデックスがどのように機能するか/ウェブミンがインデックスを表示し、過度に妄想的であることに誤って情報を与えられているだけです。
(編集)
以下の1つのコメントに応じて、show create tablenameの結果を以下に示します。
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
同等の列のすべてのインデックスは同じ方法で名前が付けられていることに注意してください。
解決
テーブルごとのインデックスの場合、問題ありません
他のヒント
私があなたの質問を正しく理解している場合(大きなif)、あなたはのインデックスを作成する必要があります 各 テーブル。インデックスは、MySQLが処理するとは思わないインデックス/マテリアルビューなどの高度な概念に登場するまで、複数のテーブルをカバーしません。
所属していません StackOverflow