|
MySQL.RU - Webboard
Вернуться
Помощь в оптимизации (Alex) 15/03/2009 - 10:26:24
Re: Помощь в оптимизации (Diter) 15/03/2009 - 12:32:12
Re: Помощь в оптимизации (Diter) 15/03/2009 - 12:34:31
Re: Помощь в оптимизации (Alex) 17/03/2009 - 14:16:48
Re: Помощь в оптимизации (Diter) 18/03/2009 - 16:10:55
> Original message text:
> From: Alex - 15/03/2009 - 10:26:24
> Subject:Помощь в оптимизации
> -----------------
> Столкнулся с проблемой оптимизации, не знаю, что и придумать
>
> В первой таблице содержаться строки типа:
> дата1 товар1 вес1
> дата2 товар2 вес2
> дата3 товар1 вес1
> .............
>
> Во второй таблице:
> дата1 товар1 новыйвес1 покупатель1
> дата1 товар2 новыйвес2 покупатель1
> .............
>
> Например, для покупателя1 надо взять товар2 из второй таблицы, найти его последний по времени вес2 из первой таблицы и вычислить разницу новыйвес2-вес2.
> Проблема в том, что записей в обоих таблицах очень много и ресурсов расходуется очень много.
> Может подскажете как это делать с наименьшими затратами?
>
From: Alex - 17/03/2009 - 14:16:48
Subject:Помощь в оптимизации
-----------------
Спасибо, почти разобрался. В направлении индексов надо было копать ;)
Но возник следующий вопрос. Как оптимизировать такой запрос?
select weight from table1 where (`date`<'$date' OR (`date`='$date' AND `time`<='$time')) AND product='$product' ORDER BY date,time DESC LIMIT 1
Т.е. надо найти последний вес продукта начиная с определенного времени. Если искать только по дате, скорость терпимая. А как только с определенного времени, определенного дня скорость резко снижается.
Изменить выражение? Создать какой-то индекс?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35174
|
|