Мобильная версия форумов
Открыть
 −21°C
завтра: −4°C
Погода в Перми
−21°C
вечером−10°C
ночью−10°C
завтра−4°C
Подробно
 66,20
−0.0448
Курс USD ЦБ РФна 20 февраля
66,2022
−0.0448
 74,82
−0.0904
Курс EUR ЦБ РФна 20 февраля
74,8151
−0.0904
  • experienced

    Сообщений: 695

    В чем суть...
    Существуют две таблицы:
    В ответ на: 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 минут.

    когда было вчера?

  • veteran

    Сообщений: 2633

    В ответ на: A int(11) YES MUL NULL
    MUL - это multi-column ключ? Если да, как он создан (синтаксис CREATE TABLE)?

  • experienced

    Сообщений: 695

    В ответ на: MUL - это multi-column ключ? Если да, как он создан (синтаксис CREATE TABLE)?
    Простой индекс по полю построен.
    Вопрос снят.
    Кому интересно решение - сюда

    когда было вчера?

Записей на странице:

Перейти в форум

Модератор: