this is curious: the table: CREATE TABLE inbw_day_diffs_2001_Jan_02_10 ( hostname char(20) NOT NULL default '', variable_name char(64) NOT NULL default '', variable_index_value char(114) NOT NULL default '', variable_index_label char(50) NOT NULL default '', variable_result_value_numeric double NOT NULL default '0', label_value char(255) NOT NULL default '', reading_time int(10) unsigned NOT NULL default '0', PRIMARY KEY (hostname,variable_name,variable_index_value,variable_index_label,reading_time), KEY variable_name(variable_name), KEY variable_index_value(variable_index_value), KEY reading_time(reading_time) ) TYPE=MyISAM; this statement: create table my_test select hostname, variable_name, variable_index_value, variable_index_label, AVG(variable_result_value_numeric), COUNT(variable_result_value_numeric), STD(variable_result_value_numeric), MAX(variable_result_value_numeric), MIN(variable_result_value_numeric), label_value, FLOOR(reading_time/4200)*4200 as reading_int from inbw_day_diffs_2001_Jan_02_10 where reading_time < (FLOOR(979192800/4200)*4200) group by hostname, variable_name, variable_index_value, variable_index_label, reading_int creates a table of 57203 rows from a 487977 row table. it creates a 33Meg tmp file and completes in 280 seconds. this following statement, however does what i really want to do, but it's unreasonable to run time-wise: create table my_test select hostname, variable_name, variable_index_value, variable_index_label, FLOOR(reading_time/4200)*4200 as reading_int, AVG(variable_result_value_numeric), COUNT(variable_result_value_numeric), STD(variable_result_value_numeric), MAX(variable_result_value_numeric), MIN(variable_result_value_numeric), SUBSTRING_INDEX(MAX(CONCAT(reading_time,'mydelim**-**',label_value)),'mydelim**-**',-1) as foo from inbw_day_diffs_2001_Jan_02_10 where reading_time < (FLOOR(979192800/4200)*4200) group by hostname, variable_name, variable_index_value, variable_index_label, reading_int pretty much doesn't complete in anywhere near 280 seconds, it only has a 5.5Meg temp file in 194 seconds. (really slow) any thoughts/suggestions? the only thing that's different is the SUBSTRING_INDEX(MAX(CONCAT())) construct, and i can't immediately see why that slows it down so much... --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php