There is 32GB of RAM on the server (which is a Virtual Machine by the way).
The innodb_buffer_pool_size is 134217728.
Sorry, I mistyped the query in the select portion.
select
ic.increment_name,
si.source_index_name,
s.source_name,
st.source_type_name,
iul.timestamp,
nl.numeric_value
from
increment_update_log iul
inner join numeric_increment_log nl on iul.increment_update_id = nl.increment_update_id
inner join source s on iul.source_id = s.source_id
inner join increment_config ic on nl.increment_config_id = ic.increment_config_id
inner join source_type st on s.source_type_id = st.source_type_id
and ic.source_type_id = st.source_type_id
inner join source_index si on nl.source_index_id = si.source_index_id
where
iul.timestamp > "2018-06-04" and
iul.timestamp < "2018-07-04" and
ic.increment_name = "increment1" and
s.source_name = "source1"
group by 1,2,3
I can't easily get the Explain results onto this computer because this is a database on a stand alone network. Is there something I should be looking for? In the "rows" column of the Explain results, all values are "1" except for the increment_update_log, which has a number of 3985216. The key it used was an index on (timestamp).
I guess it feels like the index on timestamp is not narrowing down the records as well as I thought it would do. We get about 5 records per second in the numeric_increment_log and about 2 per second in the increment_udpate_log.