Две таблицы с индексами, с одинаковыми именами столбцов, содержащие разную информацию ... будет ли конфликт? - PullRequest
0 голосов
/ 03 декабря 2010

Итак, у меня есть класс, который создает таблицу для заполнения данными. Сейчас у меня все имена столбцов одинаковые (имя продукта, дата и т. Д.). Я заметил, что когда я просматриваю свои таблицы в Webmin, существует только один индекс с именем «product_date», несмотря на тот факт, что, предположительно, две таблицы используют индекс. Я не думаю, что это может быть хорошо.

Мой вопрос: вызовет ли это конфликт в будущем? Я не хочу заполнять таблицы тысячами строк, если мне понадобится только реструктурировать все позже. Я не могу себе представить, что я первый столкнулся с этим ... возможно, я просто дезинформирован о том, как работают индексы / webmin отображает индексы и излишне параноидален.

(редактировать)

В ответ на один комментарий ниже приведены результаты таблицы SHOW CREATE TABLE:

 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

Обратите внимание, что все индексы в эквивалентных столбцах имеют одинаковые имена.

Ответы [ 2 ]

1 голос
/ 03 декабря 2010

Если это индекс для таблицы, нет проблем

0 голосов
/ 03 декабря 2010

Если я правильно понимаю ваш вопрос (большое if), вы должны создать индекс для каждой таблицы. Индексы не охватывают более одной таблицы до тех пор, пока вы не войдете в расширенные концепции, такие как индексированные / материализованные представления, которые, как мне кажется, MySQL не обрабатывает.

...