# eXtremeSQL User's Guide

> McObject 's eXtremeSQL is a high-performance implementation of the SQL programming language for interfacing with eXtremeDB databases. The SQL Introduction and Product Overview pages provide a detailed introduction to eXtremeSQL features.

> The eXtremeSQL API is implemented as a C language library as well as a rich set of C++, Java, Python and C# wrapper classes. So the SQL statement interface can be embedded within your choice of programming language. The process of developing eXtremeSQL applications consists of incrementally defining or modifying the database schema then implementing related application-specific database operations using static APIs as well as the schema-specific APIs that vary as the schema changes.

> For developers unfamiliar with the implementation of eXtremeSQL applications this quick start guide is recommended to understand the basic application structure. Also building and running the SDK samples is an excellent way to gain familiarity with specific eXtremeSQL capabilities.

> The eXtremeSQL APIs are described in the Programming with eXtremeDB pages.

> Please use the links below to view detailed explanation of the topics of interest:

> xSQL | xSQL User's Guide: an interactive tool for processing SQL statements
> Language Reference | eXtremeSQL SQL Language Reference
> DML Statements | eXtremeSQL DML statements `select, insert, update` and `delete`
> DDL Statements | eXtremeSQL DDL statements `create table, create index, drop table, drop index` and `alter table`
> SQL Features | Various eXtremeSQL features and implementation details
> Implementation Details | Implementation details for User-defined Functions (Stored Procedures), Dynamic Memory Allocation, Views, Virtual Tables, Remote SQL applications and Security Measures
> Managing Transactions | Managing transactions with eXtremeSQL
> Distributed SQL Engine | Support for database sharding with the Distributed SQL Engine
> Query_Result_Processing | Detailed explanations and examples of the methods for query result processing
> Query Optimization | How to optimize query performance and control the eXtremeSQL rule-based query optimizer
> Data Export and Import | Online backup of persistent databases, saving and loading database snapshots, metadata and dictionaries
> Using Sequences | Using Sequences in SQL
> Optimizations | Techniques and tips for optimizing eXtremeSQL application performance
> ODBC | The eXtremeSQL ODBC API
> JDBC | The eXtremeSQL JDBC API
> DBeaver Support | eXtremeSQL support for the DBeaver third-party GUI Tool