...
Informações |
---|
icon | false |
---|
title | PERFORMANCE |
---|
|
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 Xde vezes o comando INSERTX* vezes.
Informações |
---|
| icon | false
---|
title | OBS |
---|
Onde X não é especificado na documentação original. |
O teste usa a tabela DETAIL.
Resultado:
4º Teste - Chamada a uma Stored Procedure
Esse 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.específico X de chamadas a uma Stored Procedure com parâmetros. Os Parâmetros são passados cada vez que a Store Procedure é chamada. A Stored Procedure foi criada antes dos testes de Execução (4º Teste)
Nome da Stored ProcedureStored procedure name: Master_Insert
Parameters to be passedParâmetros a sêr submetidos: p_Code, p_Field1, p_Field2, p_Field3
Resultado:
...
Artigos relacionados
...
...
Caso queira conferir o artigo oficial do teste, acesse DotConnect for Oracle Performance. |
Links Úteis
Caso tenha algum problema na comunicação entre o AppServer (Host) e o banco de dados, consulte o artigo CannotConnect ao utilizar Direct mode (Oracle).