Задавайте вопросы, мы ответим
Вы не зашли.
помогите плиз с трактовкой slow-queries.log
включил в my.ini
log_slow_queries=slow-queries.log
long_query_time=2
log-queries-not-using-indexes
получил slow-queries.log
объем данных пока не большой, но собственно понять хочется
такая запись в логе
# Time: 130417 3:31:28
# User@Host: catalog4[catalog4] @ [192.168.13.100]
# Query_time: 0.494006 Lock_time: 0.000000 Rows_sent: 5722 Rows_examined: 50940
use xxxxxxxxxxx
SET timestamp=1366155088;
call show_jurnal(_binary'2012-02-01 00:00:00' ,_binary'2999-01-01 00:00:00' );
Rows_sent: 5722 Rows_examined: 50940 - это она намекает что у меня с индексами тупо ? или это просто стандартное сообщение о длинном запросе ?
просто все таблицы куда JOIN с первичными ключами
сама jurnal по DATE который используется в where индекс есть
TIME по которому сортируем тоже есть
PRIMARY KEY (DOC_ID),
INDEX IX_jurnal_DATE (DATE),
INDEX IX_jurnal_TIME (TIME),
UNIQUE INDEX UK_jurnal_DOC_ID (DOC_ID)
и вот сам запрос в процедуре
SELECT `jurnal`.`DOC_ID` AS `DOC_ID`
, `jurnal`.`DOCTYPE_ID` AS `DOCTYPE_ID`
, `jurnal`.`DATE` AS `DATE`
, `jurnal`.`TIME` AS `TIME`
, `jurnal`.`NUMBER` AS `NUMBER`
, `jurnal`.`FIRM` AS `FIRM`
, `jurnal`.`COMMENT` AS `COMMENT`
, `jurnal`.`CONTRAGENT_ID` AS `CONTRAGENT_ID`
, `jurnal`.`DOC_PARENT` AS `DOC_PARENT`
, `jurnal`.`SUMMA` AS `SUMMA`
, `jurnal`.`LOCKED` AS `LOCKED`
, `doctypes`.`PRICE_TYPE` AS `PRICE_TYPE`
, `operators`.`LOGIN` AS `LOGIN`
, `contragents`.`FIO` AS `FIO`
, `kassa`.`KASSA_NAME` AS `KASSA_NAME`
, `jurnal`.`STATUS` AS `STATUS`
, `jurnal`.`SHOP_DOSTAVKA` AS `SHOP_DOSTAVKA`
, concat(`doctypes`.`DOCTYPE_NAME`, ifnull(`dostavka`.`DOSTAVKA_TXT`, '')) AS `DOCTYPE_NAME`
, `jurnal`.`SPECIAL` AS `SPECIAL`
, `kassa`.`KASSA_ID` AS `KASSA_ID`
FROM
(((((`jurnal`
LEFT JOIN `doctypes`
ON ((`jurnal`.`DOCTYPE_ID` = `doctypes`.`DOCTYPE_ID`)))
LEFT JOIN `dostavka`
ON ((`jurnal`.`SHOP_DOSTAVKA` = `dostavka`.`DOSTAVKA`)))
LEFT JOIN `kassa`
ON ((`jurnal`.`KASSA_ID` = `kassa`.`KASSA_ID`)))
LEFT JOIN `contragents`
ON ((`jurnal`.`CONTRAGENT_ID` = `contragents`.`USER_ID`)))
LEFT JOIN `operators`
ON ((`jurnal`.`OPERATOR_ID` = `operators`.`OPERATOR_ID`)))
WHERE
`DATE` >= date1
AND `DATE` <= date2
ORDER BY
`jurnal`.`DATE`
, `jurnal`.`TIME`;
Отредактированно dos32 (17.04.2013 03:53:34)
Неактивен
Смотрите EXPLAIN запроса
Неактивен