Internal tables are complex data objects distinct from elementary data objects in an ABAP program. The earlier complex data objects covered were structures. An internal table is what is called a structured array in other platforms. Like its name suggests, it can store multiple rows of data, and it can grow and shrink dynamically during program execution. It exists only during the program’s execution. An internal table can be a structured array or a simple array. Most often, it would be a structured array. In the SAP R/3 client server architecture, data will be retrieved and loaded from the database tables in large chunks into the internal tables (application server RAM) and processed from these internal tables. The database server should not be burdened with application processing. The database services are to be requisitioned selectively and infrequently for data maintenance, management, and retrieval. That is why retrieval of large chunks of data is preferred instead of frequent retrieval of small amounts of data; all of this is for better performance. The internal tables fit into this scenario.