Before loading data, ensure that you have met the following prerequisites:
-
The data you want to load must be available on the MySQL DB System. For information about importing data into a MySQL DB System, refer to the following instructions:
For MySQL HeatWave Service on OCI, refer to Importing and Exporting Databases in the MySQL HeatWave Service User Guide.
For MySQL HeatWave on AWS, refer to Importing Data, in the MySQL HeatWave on AWS Service Guide.
For HeatWave in Oracle Database Service for Azure (ODSA), see Importing Data to MySQL HeatWave.
TipFor an OLTP workload that resides in an on-premise instance of MySQL Server, inbound replication is recommended for replicating data to the MySQL DB System for offload to the HeatWave Cluster. For more information, see Replication, in the MySQL HeatWave Service User Guide and Section 2.9, “Best Practices”.
-
The tables you intend to load must be
InnoDB
tables. You can manually convert tables to InnoDB using the followingALTER TABLE
statement:mysql> ALTER TABLE tbl_name ENGINE=InnoDB;
-
The tables you intend to load must be defined with a primary key. You can add a primary key using the following syntax:
mysql> ALTER TABLE tbl_name ADD PRIMARY KEY (column);
Adding a primary key is a table-rebuilding operation. For more information, see Primary Key Operations.
Primary key columns defined with column prefixes are not supported.
Load time is affected if the primary key contains more than one column, or if the primary key column is not an
INTEGER
column. The impact on MySQL performance during load, change propagation, and query processing depends on factors such as data properties, available resources (compute, memory, and network), and the rate of transaction processing on the MySQL DB System. Identify all of the tables that your queries access to ensure that you load all of them into HeatWave. If a query accesses a table that is not loaded into HeatWave, it will not be offloaded to HeatWave for processing.
Column width cannot exceed 65532 bytes.
The number of columns per table cannot exceed 1017. Before MySQL 8.0.29, the limit was 900.