Currently, the edit table has a column data, which contains the edit data JSON. This column takes up about 90% of the row width on average, which obviously contributes to (large parts of) the table being evicted from the database server's cache rather quickly after use. Reloading it from disk for the next edit search is very expensive.
We should move the edit data to its own table (two columns, the edit ID and the data for the edit itself; primary key index on the ID). The normal queries will then only operate on the smaller edit table; we will load the edit data from edit_data only for those 25 or 50 edits that are to be displayed on a page.