Как выполнить запрос с большим объемом данных?

#mysql #sql

#mysql #sql

Вопрос:

Я пытаюсь запустить запрос на XAMPP MySQL .

У меня есть 2 таблицы.

В первой таблице около 30 тысяч строк, каждая строка представляет собой определенный артикул. (SKU — это номер, присвоенный продукту)

Вторая таблица содержит 100 тыс. строк. В нем есть все данные для каждого артикула.

Моя цель — собрать все данные для каждого артикула из первой таблицы.

Это то, что я делал до сих пор:

 
    SELECT v.sku
        ,t.TTC_TYP_ID
        ,t.CAR_BRAND
        ,t.CAR_MODEL
        ,t.CAR_TYP
        ,t.CAR_BODY
        ,t.CAR_OF_YEAR
        ,t.CAR_TO_YEAR
        ,t.CAR_KW
        ,t.CAR_PM
        ,t.CAR_CC
        ,t.ART_NAME
        ,t.ART_GROUP
        ,t.PARTS_INFO
        ,t.TERMS_OF_USE
        ,t.ART_CROSS
    FROM volvo_skus v
    JOIN truckpartstest t ON v.sku = t.oe_number

  

Я попытался подключить v.SKU и t.oe_number, потому что они одинаковы, просто другое имя для столбца.

Все будет хорошо, если я запущу этот скрипт с небольшим объемом данных. Но когда я пытаюсь запустить этот скрипт с реальным объемом данных, XAMPP показывает панель «Загрузка», и ничего не происходит. Есть идеи о том, как я могу это исправить?

Комментарии:

1. Какой из этих столбцов является первичным ключом? Если они не являются ключами, то индексируются ли они?

2. проверьте, созданы ли индексы.

3. Таблица JOIN с общим количеством строк 130k не является «большим объемом» данных. В зависимости от вашего оборудования время выполнения должно варьироваться от почти мгновенного до всего нескольких секунд. Если ваше приложение зависает, вероятно, есть другая проблема.

4. используйте командную строку, я предполагаю, что вы используете ОС Windows, поэтому вам нужно подключиться к вашему серверу mysql и предоставить имя пользователя и пароль, установщик xampp должен был добавить ваш mysql bin в переменную среды PATH. Если ваш запрос работает в командной строке, проверьте конфигурацию тайм-аута xampp

5. Как создавать индексы, не искажая данные? Просто попытался создать индекс для столбца, и все строки теперь имеют значение ‘0’.