MySQL Forums
Forum List  »  Newbie

Many process insert data in same time
Posted by: Rodrigo Mendes
Date: November 19, 2015 09:56AM

Hello everyone, I hope you are well .

I'm developing a project where I created a robot that multiplies in several instances , where each instance accesses a site and search some information .

This information is all entered in a database with a procedure that has the code below.


begin
declare v_cd_produto int;
declare v_cd_produto_fornecedor int;
declare v_url_produto_fornecedor varchar(500);
declare v_url_imagem varchar(500);

select cd_produto into v_cd_produto from produto_price where nm_produto = nome;

if v_cd_produto > 0 then

select cd_produto_price, url_produto_fornecedor, url_imagem into v_cd_produto_fornecedor,v_url_produto_fornecedor,v_url_imagem from produto_fornecedor where cd_produto_price = v_cd_produto and cd_fornecedor = fornecedor;

if v_cd_produto_fornecedor > 0 Then

if (v_url_produto_fornecedor <> url or v_url_imagem <> imagem) Then

UPDATE produto_fornecedor SET url_imagem = imagem , url_produto_fornecedor = url WHERE cd_produto_price = v_cd_produto_fornecedor and cd_fornecedor = fornecedor;

end if;

INSERT INTO preco_produto_fornecedor (cd_produto_price ,cd_fornecedor ,vlr_produto ,flg_sucesso) VALUES ( v_cd_produto_fornecedor, fornecedor, preco, '1');

Else

INSERT INTO produto_fornecedor (cd_produto_price,cd_categoria,url_produto_fornecedor,url_imagem,cd_fornecedor,flg_ativo) VALUES (v_cd_produto,categoria,url,imagem, fornecedor, '1');

INSERT INTO preco_produto_fornecedor (cd_produto_price ,cd_fornecedor ,vlr_produto ,flg_sucesso) VALUES ( v_cd_produto, fornecedor, preco, '1');

End If;

else

INSERT INTO produto_price(nm_produto) VALUES (nome);

select cd_produto into v_cd_produto from produto_price where nm_produto = nome;

INSERT INTO produto_fornecedor (cd_produto_price,cd_categoria,url_produto_fornecedor,url_imagem,cd_fornecedor,flg_ativo) VALUES ( v_cd_produto , categoria , url,imagem, fornecedor, '1');

INSERT INTO preco_produto_fornecedor (cd_produto_price ,cd_fornecedor ,vlr_produto ,flg_sucesso) VALUES ( v_cd_produto , fornecedor, preco, '1');

end if;

end


However , I'm having a lot of "waiting " because of "table lock" .

How can I improve the process and reduce the processing time / standby.


Sorry about my bad english.
Thanks

Options: ReplyQuote


Subject
Written By
Posted
Many process insert data in same time
November 19, 2015 09:56AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.