MySQL optimization involves understanding the entire system to be optimized. The query optimizer attempts to determine the most efficient way to execute a query by considering possible query plans. Key aspects of optimization include data types and schema design, indexing, and query optimization. Smaller data types, simpler schemas, and indexes on commonly used columns can improve performance.