Как я могу запросить таблицу, которая была разделена на 2 меньшие таблицы? Союз? Посмотреть? - PullRequest
1 голос
/ 06 июня 2010

У меня очень большая таблица (около 2 000 000 записей), которая разбита на 2 таблицы меньшего размера. одна таблица содержит только записи с прошлой недели, а другая содержит все остальное (а это много ...)

Теперь у меня есть несколько хранимых процедур / функций, которые использовались для запроса большой таблицы до ее разделения.

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

это мой взгляд:

CREATE VIEW `united_tables_view` AS select * from table1 union select * from table2;

и затем я бы хотел переключить всюду хранимую процедуру, выбрать из 'oldBigTable', чтобы выбрать из 'united_tables_view' ...

Я пытался добавить индексы, чтобы сократить время, но ничего не помогает ... Есть идеи?

PS

представление и объединение - моя идея, но любая другая творческая идея была бы идеальной!

принеси!

спасибо!

1 Ответ

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

Если есть причина не делать этого, вам следует объединять таблицы, а не постоянно запрашивать их обе. Вот вопрос на StackOverflow о том, как это сделать:

Как объединить две таблицы MySQL?

Если вам нужно разделить их, вы можете использовать синтаксис в следующем виде:

SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1;

Вот статья о том, когда использовать SELECT, JOIN и UNION https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1050307.html

...