parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

я в шоке насколько быстрее стало работать :) спасибо за такой точный ответ

Larrikin 06.06.2008 01:33

правда, я BETWEEN не смог сделать - ерунду какую-то с ним выдавал вместо нужных данных...

а как до таких индексов самому дойти? есть какой-то софт для мускуля смотреть план выполнения запроса? просто в другом месте тоже похоже дело в индексах, а как я раньше делал методом угадывания тут не получается :(
TYPE: table
INFO: 53.18 ms/0 KB/0 blocks
ROWS: 30
QUERY:
SELECT k_site.site_id as id, k_site.domain as domain, AVG(stat_ya.rate) as rate FROM stat_ya,k_site WHERE stat_ya.site_id = k_site.site_id AND stat_ya.word_id = 14 AND stat_ya.rate_date > '2008-06-05 01:18:50' GROUP BY stat_ya.site_id
EXPLAIN:
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra	
1	SIMPLE	stat_ya	ALL	ix_uniq				148961	Using where; Using temporary; Using filesort	
1	SIMPLE	k_site	eq_ref	PRIMARY	PRIMARY	4	stat_ya.site_id	1		

CREATE TABLE IF NOT EXISTS `stat_ya` (
  `rate_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `word_id` int(11) NOT NULL DEFAULT '0',
  `site_id` int(11) NOT NULL DEFAULT '0',
  `rate` tinyint(2) NOT NULL DEFAULT '0',
  UNIQUE KEY `ix_uniq` (`site_id`,`word_id`,`rate_date`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

CREATE TABLE IF NOT EXISTS `k_site` (
  `site_id` int(4) NOT NULL AUTO_INCREMENT,
  `domain` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`site_id`),
  UNIQUE KEY `ix_domain` (`domain`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1466 ;