Несколько ключей / индексов / ограничений при объединении трех таблиц - PullRequest
0 голосов
/ 07 июня 2010

Я все больше и больше путаюсь, пытаясь отличить от неясностей этих терминов. У меня запрос, который занимает больше времени, чем необходимо, просто потому, что я не могу получить ключ от таблицы для работы с другими объединениями.

У меня только один столбец, который является «Уникальным» в t1, есть другие, которые на 73,8% уникальны, и я не могу понять, как включить их в качестве ключей, ограничений, индексов или чего-либо еще, что я ищу. 1003 *

SELECT t1.*, 
    (SELECT
         t3.comments
     FROM dashboard_data.unit_comments As t3
     WHERE t1.sr=t3.sr) comments,
    (SELECT
         t4.priority
     FROM dashboard_data.units_to_ship As t4
     Where t1.rma=t4.rma) priority
FROM report_tables.idle_report As t1

Итак, в основном я хочу сделать SR и RMA их собственными ключами, чтобы я мог использовать ключи для всех таблиц в этом запросе, но, потратив день на поиск в Интернете и чтение интерпретаций этих терминов различными источниками, я все еще могу не могу понять, что мне нужно сделать, чтобы оптимизировать этот запрос.

Я извиняюсь, потому что знаю, что об этом часто спрашивают, но даже после прочтения некоторых других вопросов и ответов я не могу применить их к моему конкретному случаю. Могу ли я использовать ключи для этого? Пожалуйста, дайте мне знать, если вам нужно больше информации. Кроме того, я собирался вставить в EXPLAIN SELECT, но я не могу понять, как легко отформатировать копию (Excel) с разделителями табуляции. Я не видел его в полном справочнике по форматированию.

1 Ответ

0 голосов
/ 08 июня 2010

Хорошо, я думаю, что, наконец, нашел ответ. Первичные ключи являются уникальными и единственными уникальными, у меня может быть первичный ключ и все еще иметь отдельные индексы. Поэтому я попытаюсь использовать ALTER TABLE для создания индексов для RMA и SR.

До сих пор не уверен, что это за ограничения, из того, что я собрал, я думаю, это просто синоним ключа или индекса.

Вот мои выводы:

  • Indeces ИЛИ PK могут быть одним или несколькими столбцами
  • Индексы ИЛИ PK могут быть префиксами
  • Может быть ТОЛЬКО ОДИН ПК
  • Может быть МНОГИЕ ЛЮДИ
  • PK ДОЛЖЕН быть уникальным
  • Индексы могут быть уникальными ИЛИ не уникальными

Правильно ли я в своих утверждениях выше, я что-то пропустил (хотя бы для базовой информации)?

...