Моя проблема заключается в следующем:MySQL подзапросов с РЕГИСТРИРУЙТЕСЬ плохой производительности
select * from
(
select * from barcodesA
UNION ALL
select * from barcodesB
)
as barcodesTOTAL, boxes
where barcodesTotal.code=boxes.code;
Таблица barcodesA имеет 4000 записей Таблица barcodesB имеет 4000 записей табличных полях как 180.000 записей
Она занимает 30 секунд, чтобы proccess запрос.
Еще один проблемный вопрос:
select * from
viewBarcodesTotal, boxes
where barcodesTotal.code=boxes.code;
viewBarcodesTotal содержит UNION ALL из обеих таблиц штрихкодов. Это также берет навсегда.
Между тем,
select * from barcodesA , boxes where barcodesA.code=boxes.code
UNION ALL
select * from barcodesB , boxes where barcodesB.code=boxes.code
Это один принимает < 1second.
Вопрос, очевидно, ПОЧЕМУ?, Мой код прослушивается? прослушивается mysql?
Мне нужно перейти от доступа к mysql, и мне придется переписать весь мой код, если первый параметр прослушивается.
Вкратце: подзапросы медленны, избегайте их, где это возможно. – Polynomial
Возможно, вы захотите запустить EXPLAIN в запросе и включить этот вывод в свой вопрос. В противном случае, есть ли у вас индексы в полях кода? Вам действительно нужно получить все данные или подмножество (на основе условия), было бы достаточно? –