rexmage Posted September 28, 2013 at 10:02 AM Report #526450 Posted September 28, 2013 at 10:02 AM Boas pessoal tenho 600 mil registos para importar de um ficheiro CSV para SQL. Qual a forma mais eficiente de fazer isto ? Fiz um script em PHP para ele fazer importação. O problema é que não importa mais do que uma determinada quantia variável ( umas vez importa 3000/9000 outras 2000/6000 etc). Já pedi ao host para aumentar o tempo do SQL, mas mesmo assim passado mais algum tempo, ele pára de executar o script. Pode ser algum modo de segurança activado pelo próprio browser ( estava a usar o chrome)? Alguém que tenha feito já importações de quantidades maiores de dados pode dar o seu feedback? É que só importei ainda 100 mil e poucos e demorei 4 ou 5 dias, por isso queria uma forma mais rápida de o fazer. Obrigado! <?PHP echo "Bo0m"; ?>
HappyHippyHippo Posted September 28, 2013 at 11:11 AM Report #526463 Posted September 28, 2013 at 11:11 AM quando dizes " passado mais algum tempo" não será exactamente 30 segundos ? isso é o limite de tempo de execução do PHP. podes : - configurarar o script PHP a poder ser executado durante um tempo mais prolongado : http://php.net/manual/en/function.set-time-limit.php - criar uma página que executa pedidos AJAX que pede a um script no servidor que sejam inseridos os registos de X a X+Y, onde a cada pedido, o X será o X + Y + 1 do pedido anterior IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
rexmage Posted September 28, 2013 at 11:14 AM Author Report #526464 Posted September 28, 2013 at 11:14 AM Olá HappyHippyHippo, Sim eram 30 segundos mas eu pedi ao host para aumentar o tempo de ciclo. Depois disso, ele continua a rebentar estranhamente. Relativamente à segunda hipotesse, eu já tinha pensado em fazer um script que corre-se X a X. Mas porquê em ajax ? Existe alguma razão específica ? Obrigado <?PHP echo "Bo0m"; ?>
HappyHippyHippo Posted September 28, 2013 at 11:24 AM Report #526466 Posted September 28, 2013 at 11:24 AM o link que te apresentei demonstra como alterar o tempo limite de configuração sem qualquer tipo de intervenção do teu host provider. a escolha do uso do AJAX é simples : automatismo. é fácil criar uma página que basta carregar num botão e ter tudo a correr automáticamente. quando tens uma resposta do servidor, efectua a seguinte IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
rexmage Posted September 28, 2013 at 11:34 AM Author Report #526468 Posted September 28, 2013 at 11:34 AM Hmm okay parece-me uma boa ideia. Vou tentar então 🙂 Obrigado! <?PHP echo "Bo0m"; ?>
Devexz Posted September 28, 2013 at 01:23 PM Report #526484 Posted September 28, 2013 at 01:23 PM http://php.net/manual/en/function.set-time-limit.php Pelo que sei existem hosts que desabilitam esta opção de escolher o tempo de execução do script não sei se será o teu caso... Contador de calorias: caloriaspordia.com
rexmage Posted September 28, 2013 at 01:29 PM Author Report #526485 Posted September 28, 2013 at 01:29 PM Sim foi mesmo esse o meu caso. Tive de pedir para me aumentarem o tempo de execução, mas ficou resolvido. Agora vou tentar outro método que o hippo falou, parece-me uma boa alternativa colocar por intervalos <?PHP echo "Bo0m"; ?>
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now