MIP: добавление переменной для обозначения равенства

  • Использовать транзакции явно вместо того, чтобы полагаться на autocommit, чтобы уменьшить накладные расходы. Вы можете делать много операторов в транзакции. Но 12 000, вероятно, является верхним пределом того, что я уверен в работе в одной транзакции.
    mysqli_begin_transaction($daffff);
    $result= mysqli_query($daffff, "select * from 0_suppliers");
    while ($tran_pucha1we = mysqli_fetch_array($result)) {
       //Several Inserts here
    }
    mysqli_commit($daffff);
    
  • Подготовьте инструкции INSERT перед циклом и просто выполните их повторно в цикле.
    $result= mysqli_query($daffff, "select * from 0_suppliers");
    
    $insert1 = mysqli_prepare($daffff, "INSERT INTO MyTable1 (col1, col2, col3) VALUES (?, ?, ?)");
    $insert2 = mysqli_prepare($daffff, "INSERT INTO MyTable2 (col1, col2, col3) VALUES (?, ?, ?)");
    
    while ($tran_pucha1we = mysqli_fetch_array($result)) {
    
       mysqli_stmt_bind_param($insert1, "sss", $tran_pucha1we[0], $tran_pucha1we[1], $tran_pucha1we[2]);
       mysqli_stmt_execute($insert1);
    
       mysqli_stmt_bind_param($insert2, "sss", $tran_pucha1we[3], $tran_pucha1we[4], $tran_pucha1we[5]);
       mysqli_stmt_execute($insert2);
    
    }
    
  • Соберите ряд строк вашего запроса SELECT и используйте синтаксис вставки нескольких строк.
    INSERT INTO MyTable (col1, col2, col3) VALUES
      (?, ?, ?), (?, ?, ?), (?, ?, ?), ...
    
  • Вы можете комбинировать все описанные выше методы.

    Вам также может понравиться, что вы можете изменить тайм-аут PHP. См. Этот вопрос: Как увеличить тайм-аут выполнения в php?

0
задан jacob 18 January 2019 в 21:47
поделиться

1 ответ

Обратите внимание, что в зависимости от характера модели решатель CP-SAT может оказаться конкурентоспособным. И это обеспечивает реификацию и половину реификации изначально.

Пожалуйста, ознакомьтесь с

0
ответ дан Laurent Perron 18 January 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: