The Schema Optimizer feature analyses what data are stored in the table and proposes schema changes that will optimize the table (column types and column lengths) to fit existing data. Technically, this feature is based on the server implementation of “Procedure Analyse()”.
Having wrong and too long datatypes can reduce server operations on the table as more memory will be used. Also, for columns on which indexes are defined reducing datatype length will reduce the size of the index. Depending on storage engine and how data are looked up by the Engine that can result in significant performance improvement. This can be achieved by clicking on ‘Calculate Optimal Datatype’ link in HTML mode.
In particular it is a common misunderstanding that length of varchars does not matter much – but that is only true for storage on disk and not when data are loaded into memory. A varchar(20) occupies 20 bytes in memory and a varchar(100) occupies 100 bytes.
However you should never use this feature uncritically for two reason:

Note: This feature is available in SQLyog Ultimate.