1. A method comprising: receiving a request to execute a database command identifying a target table; identifying a plurality of rows to insert into the target table based in part on the database command; writing rows, from the plurality of rows, into a data page until the data page is full; determining, by an index thread manager, a number of threads to use for updating indexes defined for the target table by: determining a number of available threads for updating the indexes defined for the target table; allocating a number of the available threads for updating the indexes defined for the target table, wherein the number of the allocated threads is less than the number of indexes defined for the target table when the number of available threads is less than the number of indexes defined for the target table; and for each particular respective thread of the allocated threads, assigning, by the index thread manager, one or more indexes of the indexes defined for the target table; and upon determining the data page is full, updating, in parallel, the indexes defined for the target table using the number of threads.