For personal reasons, I always like upgrading programs to the latest version (mindlessly acting as a guinea pig), including but not limited to phone operating systems, server systems, and various software apps. Initially, because I personally prefer using MySQL for easier management, I deployed almost all applications using MySQL whenever possible.
At first, I thought the slow loading speed was due to not using Memos' default SQLite database (remote databases are naturally slightly slower than local ones). I blindly upgraded to the latest 0.20.0 version. However, by the time of writing, it seems the release has been withdrawn. A few days ago, I switched my server panel from a bloated, beginner-friendly one to 1Panel. I tested Memos using its default configuration and found that the homepage still loaded extremely slowly. Only after checking network activity did I realize the homepage was loading a bundled gomark library, which is quite large and takes about 15ms on average to load.
I habitually visited some experienced bloggers' sites and noticed that Immmmm's blog was still on version 0.18.1. Combined with the fact that recent updates have removed several features, making it increasingly uncomfortable to use, I decided to downgrade the version.
Yesterday, I initially didn't publish any journal entries. I changed the Docker image from 0.20.0 to 0.18.1 and successfully reverted to 0.18.1. After seeing other experts' downgrade methods, I realized database modifications were needed. Since I was using MySQL, I assumed there wouldn't be any issues and didn't make any changes. This morning, when I tried to publish a journal entry, I found I couldn't send it.

I had already backed up the database when changing server systems a few days ago. Additionally, there's a scheduled OSS synchronization backup every day. Since I made some personalized modifications to the website yesterday, I still performed a database backup. Always back up before making any changes—always, always, always, absolutely!
The reason is that the new version added two indexes: idx_memo_resource_name and idx_resource_resource_name, in the memo and resource tables respectively.
[!NOTE]
20240224update: At noon today, while adding a Telegram Bot to Memos, I found it couldn't be added or used properly. After carefully comparing the data tables of 0.20.0 and 0.18.1, I discovered an additionalreactiontable. Also, there's a new recordmemo-display-with-updated-tsin thesystem_settingtable that wasn't present in earlier versions.
Check if the index exists in the memo table:

Use the DROP INDEX statement to delete the index:

The index idx_memo_resource_name has been successfully removed from the memo table.
Use the ALTER TABLE statement to delete the resource_name column in the memo table:

Check the indexes in the resource table:

Use the DROP INDEX statement to delete the index:

Use the ALTER TABLE statement to delete the resource_name column in resource:

First, check if the reaction table exists in the database:

Delete the reaction table:

Check the records in the name column of the system_setting table:

Delete the memo-display-with-updated-ts record:

After completing the above operations, it's recommended to pull the image again.
Mission accomplished. I've successfully downgraded from 0.20.0 to 0.18.1. Since there's currently very little information available about downgrading Memos, I'm sharing my process based on MySQL, hoping it can help others in need.