How to optimize SQL ?

How to optimize SQL ?
  1. Use of minimal columns in table creation. (max 100 columns).
  1. Avoid use of distinct; use ‘group by’ instead.

  2. Use of LIMIT when fetching records.

  3. Avoid use of * in the select statement. Define columns instead.

  4. Indexing tables. Try using composite indexing.

  5. Avoid use of wildcards(%) for example %abc%. Use instead abc%.

  6. Use of Union in place of "OR" condition.

  7. Try to minimize the length of column

  8. De-structuring : Projection and selection strategies