What is the difference between the materialized view and normal view?

Sql

The normal view can be defined as a virtual table created as a result of the query expression A materialized view is stored on the disk.

Materialized Views are actually stored and updated with each transaction. Views are computed with each query.

They really only make sense for Read Heavy, Write Light workloads. Whenever a transactions updates the underlying table, the materialized view is updated too. Whenever a lock is taken on either table, it propagates to the other.

Unless you really know what you’re doing, I recommend staying away from materialized views. You shouldn’t be doing analytics on your OLTP db anyway.