Este trecho envolve conteúdo extremamente técnico. |
---|
Iremos mostrar abaixo, os resultados dos testes de comparação de performance, realizados pela empresa Devart, utilizando o "dotConnect for Oracle" (DirectMode) em relação a outros providers ADO .NET, como: "Oracle Client", "OLE DB" e "ODP.NET". - Todos os testes foram realizados em um ambiente que utilizava o Sistema Operacional Windows 2000 Professional;
- Servidor: Intel P4 2.4 / 512 Mb RAM, Oracle9i Enterprise Edition Release 9.2.0;
- Estação de Trabalho: Intel P4 2.0 / 512 Mb RAM, Oracle client 9.2.0;
Operações realizadas em banco: Bloco de código |
---|
language | sql |
---|
firstline | 1 |
---|
title | CreatePerf |
---|
linenumbers | true |
---|
collapse | true |
---|
| CREATE TABLE Master (
Code NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100),
Field3 VARCHAR(100)
);
CREATE TABLE Detail (
Code NUMBER,
Master NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100)
);
CREATE TABLE Loaded (
Code NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100),
Field3 VARCHAR(100),
Field4 VARCHAR(100),
Field5 VARCHAR(100)
);
declare
i INTEGER;
begin
for i in 1..1000 loop
INSERT INTO Master (
Code,
Field1,
Field2,
Field3)
VALUES (
i,
'01234567890123456789',
'12345678901234567890',
'23456789012345678901');
end loop;
for i in 1..10000 loop
INSERT INTO Detail (
Code,
Master,
Field1,
Field2)
VALUES (
i,
mod(i,1000) + 1,
'01234567890123456789',
'12345678901234567890');
end loop;
COMMIT;
end;
/
CREATE INDEX Detail_IND ON Detail (Master);
/
CREATE OR REPLACE
PROCEDURE Master_Insert (
p_Code NUMBER,
p_Field1 VARCHAR2,
p_Field2 VARCHAR2,
p_Field3 VARCHAR2
)
is
begin
NULL;
end;
/ |
Os teste realizados foram:
1° Teste - Obtenção dos DadosEsse teste demonstra a obtenção de várias linhas começando com 1000. Para realizar esse teste a classe DataReader é usada diretamente. Nesse teste o valor padrão do parâmetro Fetch Block Size foi usado.
O comando SQL utilizado nesse teste é: Bloco de código |
---|
language | sql |
---|
firstline | 1 |
---|
title | fetch.test |
---|
linenumbers | true |
---|
| SELECT * FROM Detail WHERE RowNum <= :Recs |
Resultado:
2º Teste - Preechimento dos DadosEsse teste demonstra o preenchimento de um DataSet por um DataAdapter com várias linhas.
O comando SQL utilizado nesse teste é: Bloco de código |
---|
language | sql |
---|
firstline | 1 |
---|
title | fill.test |
---|
linenumbers | true |
---|
| SELECT * FROM Detail WHERE RowNum <= :Recs |
Resultado:
3º Teste - Execução MúltiplaExecuta um número específico de vezes o comando INSERT X* vezes.
Informações |
---|
| Onde X não é especificado na documentação original. |
O teste usa a tabela DETAIL.
Resultado:
4º Teste - Chamada a uma Stored ProcedureEsse teste demonstra um número x de chamadas This test demonstrates call specified number of times stored procedure with parameters. Parameters are passed each time on calling stored procedure. Before test execution stored procedure was explicitly prepared. Stored procedure name: Master_Insert Parameters to be passed: p_Code, p_Field1, p_Field2, p_Field3 Image Added |