litespeed/list-myisam-tables reports which database tables still use the MyISAM storage engine rather than InnoDB.
It reports. database/convert-core-tables-to-innodb performs the conversion.
At a glance
| Ability | litespeed/list-myisam-tables |
| Toolset | LiteSpeed Cache — toolset/litespeed |
| Group | LiteSpeed Cache › Database Health |
| Requires | LiteSpeed Cache, active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
MyISAM locks the entire table on a write. While one request updates a row, every other request that needs that table waits — not for the row, for the table.
On a quiet site nothing notices. On a busy one it produces a characteristic failure: the site is fine until a threshold, then requests pile up behind each other and response times go vertical. It looks like a resource problem and is not.
InnoDB locks rows instead, which removes the pile-up entirely. Every core WordPress table has defaulted to InnoDB for many years, so a MyISAM table is almost always a legacy of an old migration or a plugin that specified the engine explicitly.
The conversion is a separate, more consequential operation and lives in the database abilities. This is the call that tells you whether it is needed and on what.
Input
This ability takes no input.
What comes back
| Name | Type | What it is |
|---|---|---|
tables | array | The tables still using MyISAM, with their sizes. |
count | integer | How many there are. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Do we have any MyISAM tables left?
It resolves to one call:
{
"ability": "litespeed/list-myisam-tables",
"parameters": {}
}Worth knowing
- MyISAM locks whole tables; InnoDB locks rows. Under load that is the whole difference.
- A MyISAM table today is usually a legacy of an old migration.
- This reports only. The conversion is a database ability.
- Back up before converting anything.
Related abilities
- Get Database Cleanup Summary — the other database health read
- Plan Database Cleanup — what can be removed
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category