тормозит запрос

Печать RSS
432

Автор
2000 лет д.н.э.
0
собственно,
<?
$forum_post = $sql->query("SELECT forum_post.*, user.login, user.times, user.quot, user.status, user.pol FROM forum_post LEFT JOIN user ON forum_post.id_autor = user.id WHERE forum_post.id_theme = '".$theme['id']."' ORDER BY forum_post.time LIMIT ".$page.", ".$_CFG['mypage'].";");
?>
на 5к постов в теме, извлекаю 10 постов, время sql time: 0.0966
этот же запрос но в теме с 300 постами, время sql time: 0.0026
в чем может быть проблема и как исправить?

Добавлено через 07:02 сек.
сортировка по id ни чего не меняет
и еще очень нестабильное время выполнения запроса, развал до 0.5сек..
Изменил: ramzes (20.01.2011 / 16:49)
C

Пришелец
0
типы полей?

Ктулху
0
структуру таблицы копирни, индеексы есть?
Автор
2000 лет д.н.э.
0
<?
$creat_db_forum4 = $sql->query("CREATE TABLE forum_post 
(id int(16) NOT NULL auto_increment,
 message TEXT NOT NULL,
 id_theme int(16) NOT NULL,
 id_topic int(11) NOT NULL,
 id_razdel int(11) NOT NULL,
 file TEXT,
 down int(16) DEFAULT 0,
 autor TEXT NOT NULL,
 id_autor int(16),
 time int(12),
 ip TEXT NOT NULL,
 edit int(12),
 edit_time TEXT,
 close_file int(16),
 PRIMARY KEY (id),
 KEY id_theme (id_theme),
 FULLTEXT KEY message(message)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8");
$db_user=$sql->query("CREATE TABLE user
 (id int(16) NOT NULL auto_increment,
 .... 
PRIMARY KEY(id) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8");
?>
Изменил: ramzes (20.01.2011 / 17:12)
Автор
2000 лет д.н.э.
0
та же большая тема но не в самом конце а в самом начале: sql time: 0.0102
А

Оранжевые штаны
0
del. слепой
Изменил: Александр (20.01.2011 / 18:06)
Автор
2000 лет д.н.э.
0
блин, че ж не так то
Изменил: ramzes (20.01.2011 / 18:24)
В

Чатланин
0
Я почему то не научился JOIN'ами пользоваться.. мне понятней другой синтаксис.
Попробуй так.. вроде бы эквиваленен, но может получится.
<?
"SELECT forum_post.*, user.login, user.times, user.quot, user.status, user.pol
FROM forum_post,user
WHERE forum_post.id_theme = '".$theme['id']."' AND user.id=forum_post.id_autor 
ORDER BY forum_post.time 
LIMIT ".$page.", ".$_CFG['mypage'].";"
?>
Изменил: Валерий (22.01.2011 / 20:10)
Автор
2000 лет д.н.э.
0
да тут не в запросе дело, в структуре таблицы че то я не так сделал
М

Пацак
0
forum_post.id_theme в индекс добавь, посмтри.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск