MySQL AI  /  Loading Data in MySQL AI  /  Bulk Ingest Data to MySQL Server Limitations

3.2 Bulk Ingest Data to MySQL Server Limitations

  • LOAD DATA with ALGORITHM=BULK supports tables with at least one column with the VECTOR data type. If you attempt to load a table without at least one column with the VECTOR data type, an error occurs.

  • LOAD DATA with ALGORITHM=BULK has the following limitations:

    • It locks the target table exclusively and does not allow other operations on the table.

    • It does not support automatic rounding or truncation of the input data. It fails if the input data requires rounding or truncation in order to be loaded.

    • It does not support temporary tables.

    • It is atomic but not transactional. It commits any transaction that is already running. On failure the LOAD DATA statement is completely rolled back.

    • It cannot execute when the target table is explicitly locked by a LOCK TABLES statement.

  • The target table for LOAD DATA with ALGORITHM=BULK has the following limitations:

    • It must be empty. The state of the table should be as though it has been freshly created. If the table has instantly added/dropped column, call TRUNCATE before calling LOAD DATA with ALGORITHM=BULK.

    • It must not be partitioned.

    • It must not contain secondary indexes.

    • It must be in a file_per_tablespace, and must not be in a shared tablespace.

    • It must have the default row format, ROW_FORMAT=DYNAMIC. Use ALTER TABLE to make any changes to the table after LOAD DATA with ALGORITHM=BULK.

    • It must not contain virtual or stored generated columns.

    • It must not contain foreign keys.

    • It must not contain CHECK constraints.

    • It must not contain triggers.

    • It is not replicated to other nodes.