All 18 Redirects sections
Speed
The addresses that have a redirect are kept in memory as a set of small numbers — loaded before the question is asked, on the same request. A visit that matches nothing, which is nearly every visit, reaches the database not at all. A site with four redirects costs four numbers and no queries.
Above five thousand redirects the set is no longer worth carrying, and the plugin falls back to one indexed lookup per request instead. That is a site that has moved house more than once, and one small query is well within what it can afford.
When a redirect does fire, the visitor gets their answer before the plugin writes anything down. Counting the hit is a database write, and on a redirect catching thousands of visits a day — or on a database having a slow moment — making somebody wait for it is the whole response time. The Location header goes out, the connection is let go, and the counting happens after.
Keeping old addresses after a permalink change costs nothing on a page that is found. It is only looked into on a visit WordPress has already answered "page not found", while the switch is on, and only on a site that has changed its permalinks or typed an older structure: one read of the list of changes and, when an address fits one, one indexed lookup of the post. The redirect it makes then answers every later visit like any other, and its address is added to the set of numbers above as it is made, so somebody working through your old addresses does not make every other visitor pay for it. These redirects count towards the five thousand like any others: a large site whose old addresses are all followed can pass that, and then asks the database once per visit, as any site with that many redirects does.
Working out where a deleted page lived happens in the request that deletes it, in wp-admin, and only while Broken links is on. Measured on WooCommerce with three hundred products in nested categories: moving them to the bin cost one more query each and no time that could be measured, emptying the bin cost nothing more, and deleting published products outright cost four more queries and under half a millisecond each, against the eighty or so queries and eight milliseconds WordPress and WooCommerce spend deleting each one. Pointing redirects at their final addresses follows at most five redirects for each, one indexed lookup a step, and only on your screens.
The Old addresses panel finds the redirects leading to a page with one indexed lookup on every edit screen: well under a millisecond with fifty thousand redirects, where it used to read the whole list, tens of milliseconds each time. The plugin's own screens load only what they draw, and since none of them has an image or a colour to choose, they no longer load WordPress's media library or colour picker.
Still stuck? Ask the developers who wrote it. We aim to reply within one business day.