mysql - Fast MAX, GROUP BY on the concatenation of mulliple columns -
i have table 4 columns: name, date, version,and value. there's composite index on four, in order. has 20m rows: 2.000 names, approx 1.000 dates per name, approx 10 versions per date.
i'm trying list give names highest date, highest version on date, , associated value.
when do
select name, max(date) table group name
i performance , database uses composite index
however, when join table in order max(version)
per name query takes ages. there must way result in same magnitude of time select statement above? can done using index.
try this: (i know needs few syntax tweaks mysql... ask them , find them)
insert #temptable select name, max(date) date table group name select table.name, table.date, max(table.version) version table inner join #temptable on table.name = #temptable.name , table.date = #temptable.date group table.name, table.date
Comments
Post a Comment