Home  /  Application Development: Core Topics  /  InterSystems SQL Optimization Guide  /  Introduction to SQL Performance Optimization

InterSystems SQL Optimization Guide
Introduction to SQL Performance Optimization
[Back]  [Next] 
InterSystems: The power behind what matters   

InterSystems SQL supports several features that optimize SQL performance for the InterSystems IRIS Data Platform™.
Table Definition Optimization
SQL performance is fundamentally dependent upon good data architecture. Dividing your data into multiple tables and establishing relationships between those tables is essential to efficient SQL. How to define tables and their relations to each other is beyond the scope of this book.
This book describes the following operations to optimize a table definition. These operations require that the table be defined, but do not require the table to be populated with data:
Table Data Optimization
You can perform the following operations to optimize table access based on analysis of typical data in the table:
Query Optimization
You can perform the follow operations to optimize the execution of a specific query. These query optimizations use existing table definition and table data optimizations:
You can also improve query performance against large database tables by using data sharding.
Configuration Optimization
By default, the Memory and Startup Settings default to Automatically configured, and the Maximum Per-Process Memory defaults to 262144 kb. To optimize SQL running on a production system, you should change the default to Manually configured, and increase the Maximum Per-Process Memory setting. For further details, refer to Memory and Startup Settings in the “Configuring InterSystems IRIS” chapter of the System Administration Guide.
Sharding is the partitioning of data and its associated cache across a number of systems. A sharded cluster partitions large database tables horizontally — that is, by row — across multiple InterSystems IRIS instances, called shard data servers, while allowing applications to transparently access these tables through a single instance, called the shard master data server. For further details on deploying a sharded cluster, creating sharded tables, and querying using sharding, refer to Horizontally Scaling InterSystems IRIS for Data Volume with Sharding in the Scalability Guide.