Im новое для использования MySQL.Выполнение SQL-запросов с помощью JOINs на больших наборах данных
Im пытается запустить внутреннее соединение запроса, между базой данных 80000 (это таблица B) записи против 40GB набора данных с приблизительно 600million записей (это таблица A)
ли Mysql подходит для выполнения этой вид запроса? Какой вид времени я должен ожидать?
Это код, который приведен ниже. Однако это не удалось, так как мое соединение dbs завершилось с ошибкой через 60000 секунд.
set net_read_timeout = 36000;
INSERT
INTO C
SELECT A.id, A.link_id, link_ref, network,
date_1, time_per,
veh_cls, data_source, N, av_jt
from A
inner join B
on A.link_id = B.link_id;
Im начинает смотреть на путь к вырубке размера таблицы 40GB на временную таблицу, чтобы попытаться сделать запрос более manageabe. Но я получаю код
Ошибка: 1206. Общее количество блокировок превышает размер таблицы блокировки 646,953 сек
Я на правильном пути? ура!
мой код для разделения базы данных является:
LOCK TABLES TFM_830_car WRITE, tfm READ;
INSERT
INTO D
SELECT A.id, A.link_id, A.time_per, A.av_jt
from A
where A.time_per = 34 and A.veh_cls = 1;
UNLOCK TABLES;
Возможно, мои индексов таблицы в правильно все у меня есть простой первичный ключ
CREATE Table A
(
id int unsigned Not Null auto_increment,
link_id varchar(255) not Null,
link_ref int not Null,
network int not Null,
date_1 varchar(255) not Null,
#date_2 time default Null,
time_per int not null,
veh_cls int not null,
data_source int not null,
N int not null,
av_jt int not null,
sum_squ_jt int not null,
Primary Key (id)
);
Drop table if exists B;
CREATE Table B
(
id int unsigned Not Null auto_increment,
TOID varchar(255) not Null,
link_id varchar(255) not Null,
ABnode varchar(255) not Null,
#date_2 time not Null,
Primary Key (id)
);
С точки зрения схемы, это просто эти две две таблицы (A и B) загружаются под базу данных
"против 40GB набора данных". Сколько записей? правильно ли индексируются ваши таблицы? –
80k записей кажется довольно низким для такого количества данных, что вы там храните, XML-дампы, двоичные файлы изображений? –
Вероятно, вы можете обойти ошибку, выбрав из подзапроса (производную таблицу), но это не повлияет на производительность. Отправьте свою схему и некоторые примеры данных для дальнейшей помощи. –