#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’.