My omeka application is using Curatescape theme. The loading of the map is very slow - over 5 seconds for less than a thousand items. I’ve traced the slowness to the call to the CuratescapeJSON plugin. I’m not 100% sure if the problem is more in the PHP code or the database, but the top time suck I can figure out is repeated calls on this query:
SELECT `elements`.*, `element_sets`.`name` AS `set_name`
FROM `omeka_elements` AS `elements`
LEFT JOIN `omeka_element_sets` AS `element_sets`
ON element_sets.id = elements.element_set_id
WHERE (element_sets.record_type = 'Item' OR element_sets.record_type IS NULL)
ORDER BY `elements`.`element_set_id` ASC, ISNULL(elements.order) ASC, `elements`.`order` ASC
An EXPLAIN on that query shows
Using temporary; Using filesort
I’ve played around with some mysql variables, but they don’t seem to help.
Since that same query is called for each item’s metadata load (about 3000 times for my current data set), and the result would be identical on each call, I was next going to try installing memcached, but I wanted to check in to see how this would get properly configured for omeka.
Or if anyone’s got ideas on improving curatescape load time, that would be great.
Thanks so much