SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.04.2011 18:39:20

kristofer
Участник
Зарегистрирован: 04.04.2011
Сообщений: 2

Продолжительность выполнения

приветствую всех, у меня вопрос банальный, но всеж

пример запроса:


SELECT
  trm_out_receipt_header.date,
  trm_out_receipt_header.pos_name,
  trm_out_receipt_item.var,
  trm_out_receipt_item.name,
  trm_out_receipt_item.measurement,
  trm_out_receipt_item.total_quantity,
  trm_out_receipt_item.total
FROM
  trm_out_receipt_item, trm_out_receipt_header
WHERE
  trm_out_receipt_header.type LIKE 4
AND
  trm_out_receipt_item.receipt_header LIKE trm_out_receipt_header.id
AND
DATE(trm_out_receipt_header.date)
 BETWEEN
  STR_TO_DATE('01.04.2011 00:00:00', '%d.%m.%Y %H:%i:%s')
  AND
  STR_TO_DATE('03.04.2011 23:59:59', '%d.%m.%Y %H:%i:%s')
ORDER BY
  trm_out_receipt_header.date
 


таблица trm_out_receipt_item имеет гдет 6,5 млн записей
тип таблиц InnoDB (что само за себя говорит конешн...)
программа выполняющая запрос написана на Delphi

вопрос в следующем:
уж очень долго думает... безумно долго, но результат выдает
есть ли вариант изменить запрос с целью прироста скорости выполнения, или я обречен?

Отредактированно kristofer (04.04.2011 18:39:48)

Неактивен

 

#2 04.04.2011 22:22:38

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Продолжительность выполнения

kristofer написал:

trm_out_receipt_header.type LIKE 4

Вы же, наверное, можете заменить это на trm_out_receipt_header.type = 4? Какой тип у trm_out_receipt_header.type? Думается, что ключик на этом поле поможет.

kristofer написал:

trm_out_receipt_item.receipt_header LIKE trm_out_receipt_header.id

То же самое.

приведите explain запроса и результаты

show create table trm_out_receipt_item и
show create table trm_out_receipt_header

Думаю, что вот это

DATE(trm_out_receipt_header.date)
BETWEEN
  STR_TO_DATE('01.04.2011 00:00:00', '%d.%m.%Y %H:%i:%s')
  AND
  STR_TO_DATE('03.04.2011 23:59:59', '%d.%m.%Y %H:%i:%s')

можно сильно упростить..


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson