Many process insert data in same time
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