Автор |
Сообщение |
def Гость |
|
В общем, в нашу маленькую нескромную компанию нужен человек понимающий и эксплуатирующий PHP, готовый познакомиться с PostgreSQL вместо MySQL, решить задачу:
Код: |
В чем суть... Существуют две таблицы:
--------------------------------------------------------------------------------
Table1:
Field Type Null Key Default Extra
A int(11) YES MUL NULL
B int(11) YES MUL NULL
C int(11) YES MUL NULL
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Table2:
Field Type Null Key Default Extra
D int(11) PRI 0
--------------------------------------------------------------------------------
Таблица Table2 заполняется PHP-скриптом и содержит неповторяемые значения.
Количество записей в Table1 — 23 миллиона, в Table2 - 230 тысяч (будет увеличиваться).
Задача: неоходимо выбрать все записи из Table1, где Table1.B=Table2.D.
На что был составлен запрос:
--------------------------------------------------------------------------------
SELECT t1.A, t1.C FROM `Table1` as t1, `Table2` as t2 WHERE t1.B=t2.D
--------------------------------------------------------------------------------
Но этот запрос выполняется около сорока минут.
Вопрос в следующем: можно ли как-то увеличить производительность этого запроса?
Или построить другой запрос, который укладывался бы в 10 минут. |
Что делать: внутренние (web-) информационные системы. Работы много.
Условия: полный день с 08:00 до 17:00, как говорится "полный соц. пакет", мелочи жизни типа кофе-машины, тренажерный зал. З/п немногим более 15-ти тысяч наших, российских.
Желателен человек, разрешивший все вопросы с военкоматом, по возможности "с образованием". |
|
|
|
|
BS Эксперт |
|
Можно попробывать вместо иннер джоин (",") лефт джоин("left join").
Сделать проекцию таблицы два в таблицу один. Только не знаю, что из этого получится по скорости. И может в этом запросе поменять местами тэйбл 1 и тэйбл два) |
|
|
|
|
def Гость |
|
|
|
|
BS Эксперт |
|
Я может бы и попробывал, но учусь на дневном отделении. |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|