Проблема со временем выполнения запросов!

sipliy

Утомленный солнцем
Проблема со временем выполнения запросов!

Есть три SQL запроса. Все запросы обращаются к одной таблице. Они практически идентичны. Различия лишь в условии GROUP BY. Короче они группируются по разным полям. Вот.
Хотельсь бы их объединить в один запрос. Потомучто скрипт, который выполняет эти запросы работает от 2 мин до 3, т.к размер этой таблицы 250 Мб и растет она не по дням , а по часам.
Есть идеи как это сфунциклировать ?
 

Апельсин

Оранжевое создание
Проверь используются ли у тебя в запросах индексы:
http://www.mysql.com/doc/en/EXPLAIN.html
 

sipliy

Утомленный солнцем
Неа, индексы я не использую.
Пошел читать...
 

sipliy

Утомленный солнцем
Нда. Индексы конечно штука интересная, теперь буду использовать. Но вопрос все равно интересует, как объединить три запроса в один, которые обращаются к одной и тойже таблице и различаются только по полю GROUP BY.
Может кто-нибудь это делал ?
Подскажите.
 

aloner

Guest
> Индексы конечно штука интересная, теперь буду использовать

:D

> как объединить три запроса....

Кинь примерную структуру таблицы и эти три запроса.
 

sipliy

Утомленный солнцем
TABLE mytable (
aid int(11) NOT NULL auto_increment,
time time NOT NULL default '00:00:00',
data date NOT NULL default '0000-00-00',
protocol int(5) NOT NULL default '0',
src_ip varchar(16) NOT NULL default '',
src_port int(6) NOT NULL default '0',
dst_ip varchar(16) NOT NULL default '',
dst_port int(6) NOT NULL default '0',
packet int(11) NOT NULL default '0',
data_size int(11) NOT NULL default '0',
user varchar(15) NOT NULL default '',
device varchar(8) NOT NULL default '',
PRIMARY KEY (aid)
) TYPE=MyISAM;
А запросы привести не могу, по той простой причине очень они места много занимают и разбираться в них я думаю никто не будет. Они полностью идентичны друг другу, но группируются по полям
1. data
2. src_ip
3. dst_ip
 

.des.

Поставил пиво кому надо ;-)
что значит - ОБЪЕДИНИТЬ - каким ты видишь результат запроса? Мне кажется ты не понимаешь чего ты хочешь.
 

sipliy

Утомленный солнцем
Выполняются три запроса ,это занимает очь много времени. Я хочу сократить время выполнения путем объединения этих трех запросов в один. Фича JOIN у меня пока не прокатила. Вот и пытаюсь выяснить как ?
 

Апельсин

Оранжевое создание
> А MySQL 4.x уже stable?

нет, 4.0.9 самая последняя из этой ветки декларируется как гамма, stable обещали объявить 4.10 или 4.11 (ну не помню я :) ).
 

chira

Новичок
Что бы сказать КАК оптимизировать , мы должны увидеть , ЧТО мы хотим оптимизировать.

Один общий совет насчет индексов , тебе уже дали.

Приведи упрощеный запрос, который работает долго.

Сколько таблиц участвуют в твоем select-e (имеется в виду FROM).
 

sipliy

Утомленный солнцем
Все, парни спасибо за ответы. Малеко разобрался. Решил попытать счатья с индексами. Извиняюсь за беспокойство.
 
Сверху