> [!AioIoCompletion]
> <table><tr><td rowspan="4" width="25%"><img src="assets/wl_io_aio_individual.png"></td><td><b>Wait Category</b></td><td>IO</td></tr><tr><td><b>Mechanism</b></td><td><code>AioIoCompletion</code></td></tr><tr><td><b>Operations</b></td><td><a href="Operations/Table/SeqScan">SeqScan</a>, <a href="Operations/Index/IndexScan">IndexScan</a></td></tr><tr><td><b>Resources</b></td><td><a href="Resources/disk IO">disk IO</a>, <a href="Resources/CPU">CPU</a></td></tr><tr><td colspan="3"><b>Storage Performance Barrier</b>. Unlike traditional synchronous I/O (where the backend blocks on a <code>read()</code> call), asynchronous I/O allows a process to fire off multiple requests and only wait when it physically cannot proceed without the data.</td></tr></table>