The CodeMirror extension does not set a default for the usecodemirror preference, causing bloat to the user_properties table.
wikiadmin@10.192.48.133(enwiki)> select count(*), up_value from user_properties where up_property="usecodemirror" group by up_value; +----------+----------+ | count(*) | up_value | +----------+----------+ | 54902 | 0 | | 63037 | 1 | +----------+----------+ 2 rows in set (25.48 sec)
The user_properties table is only supposed to store preference overrides, those that don't match the default. However since there's no default, any time a user changes their preferences, a row has to be saved for usecodemirror. Also, this adds just a bit more to the logged-in user HTML payload because we ship non-default prefs in each request.
A default should be set via extension.json in "DefaultUserOptions". I would suggest that the extension default is set to true (so it works out of the box), but disable it on Wikimedia wikis to maintain the status quo.
This was noticed by @Proc.