Mysql Consulta em segundo plano?

1

Como inserir os dados no MYSQL DB no modo background?

Os dados contêm um enorme volume de cerca de 20 milhões de linhas

    
por Mughil 01.02.2012 / 11:41

1 resposta

3

Eu assumo que por "modo de segundo plano" você quer dizer que você quer menor prioridade para suas instruções INSERT para descartar problemas de simultaneidade e desempenho enquanto alimenta o banco de dados.

Nesse caso, considere o uso da instrução INSERT DELAYED para inserção de linha . Dos documentos do MySQL:

The DELAYED option for the INSERT statement is a MySQL extension to standard SQL that is very useful if you have clients that cannot or need not wait for the INSERT to complete. This is a common situation when you use MySQL for logging and you also periodically run SELECT and UPDATE statements that take a long time to complete.

When a client uses INSERT DELAYED, it gets an okay from the server at once, and the row is queued to be inserted when the table is not in use by any other thread.

Another major benefit of using INSERT DELAYED is that inserts from many clients are bundled together and written in one block. This is much faster than performing many separate inserts.

Ao inserir uma grande quantidade de dados, considere desabilitar temporariamente o log binário para reduzir o esforço no seu subsistema de E / S.

    
por 01.02.2012 / 14:41

Tags