Ir para conteúdo
Fórum Script Brasil
  • 0

Queria Um Comentario De Vc


Deividy

Pergunta

18 respostass a esta questão

Posts Recomendados

  • 0

Eu acho que não tem melhor maneira, hehehe

Vai de como você é acostumado a programar.

Por exemplo.. Eu sempre usei, e sempre pretendo continuar usando o primeiro modo que você postou.

Assim, em 2 linhas, eu sempre consigo executar um SQL facilmente!

Não sei te dizer se existe alguma diferença relacionada à performance do script, usando um modo ou o outro modo.

Link para o comentário
Compartilhar em outros sites

  • 0

a coisa não é tão simples assim não galera, tenta especificar um tipo de cursor no método mais simples olha aki dois exemplos:

sql_ver = "SELECT * FROM clientes"
SET ver_most = com.Execute(sql_ver,3)
response write ver_most.RecordCount 'Output = -1
sql_ver = "SELECT * FROM clientes"
SET ver_most = Server.CreateObject("ADODB.RecordSet")
ver_most.Open sql_ver, banco,3
response write ver_most.RecordCount 'Output = numero real de registros

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Idem à mim..!

Eu tb uso só o primeiro..

Pois, ultimamente to usando bastante getrows.. aí não preciso mais nem do recordcount, hehe

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

já que o assunto é Recordset, performance, Getrows, paginação vou deixar uma dica de algo que fiz semana passada, que pode ser bem util para quem esta buscando performance fazendo paginação com getrows.

Quando voce usa getrows com paginação voce cria um vetor com todos os registros do banco de dados e depois visualiza somente a quantidade determinada por pagina, até que ponto isso é vantajoso em termos de performance?? ter um vetor as vezes enorme para não usa-lo por completo e a cada pagina criar o recordset novamente e depois o vetor denovo.

Uma alternativa que eu achei bastante interessante, foi quando eu estava desenvolvendo um sistema de paginação e o Urso me passou um código como referencia que usava LIMIT na criação do recorset, me baseando nisso criei todo o sistema de paginação que ficou muito bom (performance) como se usa o LIMIT:

Select * from tabela where campo='condição' order by campo LIMIT 31, 10

O que isso faz?? o recordset tera apenas 10 registros começando a partir do registro nr. 31 o que seria a quarta pagina de uma paginação com 10 registros p/ pagina.

Nesse caso nem usei getrows mesmo minha tabela tendo mais de 31.000 registros, pois o sistema ficou muito agil, além do banco ser Mysql que deixa o coitadinho do access a ver navios.

Link para o comentário
Compartilhar em outros sites

  • 0

Cyber, isso é uma ótima idéia e eu tive uma experiência com isso.

Fiz um e-commerce, e na lista de produtos eu usava a paginação sem o getRows e a página tava bem lerda. Depois mudei para o LIMIT e a página ficou zilhões de vezes mais rápida. O único problema é para contar esses registros...como você resolveu isso??

Link para o comentário
Compartilhar em outros sites

  • 0
Cyber, isso é uma ótima idéia e eu tive uma experiência com isso.

Fiz um e-commerce, e na lista de produtos eu usava a paginação sem o getRows e a página tava bem lerda. Depois mudei para o LIMIT e a página ficou zilhões de vezes mais rápida. O único problema é para contar esses registros...como você resolveu isso??

pra contar eu usei select count no primeiro acesso da pagina, gravei em uma session e depois usei a variavel de sessão nas outras paginas, para não ter que contar denovo toda vez que o usuário mudar de pagina.

Link para o comentário
Compartilhar em outros sites

  • 0
interessante... mas sabe se existe forma alternativa para access ?

não sei não!! voce testou com access e não funciona???

Uma boa solução para access é abandona-lo laugh.giflaugh.gif

Cara!! passei a semana passada toda dando uma estuda em mysql e sinceramente só vou usar access denovo por restrição de servidor, pois o bd em média tem a metade do tamanho do mesmo bd em access, e quanto a velocidade chega a ser ridículo comparar, sem contar o preço do access e do Mysql (free).

Link para o comentário
Compartilhar em outros sites

  • 0

A questão é:

Qual deles é melhor? Qual deles vai funcionar com qualquer bd? Qual deles você pode especificar melhor a sua ação, com isso ganhando mais performance?

Eu não recomendo o 1º, mas você pode usa-lo apenas quando for exibir dados de uma lista (ForwardOnly)

É bom vocês estudarem os recordsets.

A coleção ADO e a Connection.

Reflitam. biggrin.gif

Até mais,

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Cyber, eu já imaginava q você tivesse feito isso...eu fiz a mesma coisa, creio q seja a malhor solução.

Quanto ao access, ele não tem o LIMIT não, então com ele tem q ser à moda antiga mesmo.

E, voltando ao assunto inicial comentando o que o Guto disse. A segunda forma é interessante quando você pretende manipular os dados, fazer inserções, etc, utilizando o recordset, mas eu pessoalmente não gosto de manipular dados com ele, pra inserir, alterar ou excluir eu sempre uso os comandos DML do SQL. Agora, se a intenção for manipular os dados com ele, e dependendo do fluxo dos dados na sua página, então a segunda forma é melhor se você souber utilizar os cursores, agora se não for essa sua intenção, então a primeira eu acho mais fácil e mais visível

Link para o comentário
Compartilhar em outros sites

  • 0
interessante... mas sabe se existe forma alternativa para access ?

não sei não!! voce testou com access e não funciona???

Uma boa solução para access é abandona-lo laugh.giflaugh.gif

Cara!! passei a semana passada toda dando uma estuda em mysql e sinceramente só vou usar access denovo por restrição de servidor, pois o bd em média tem a metade do tamanho do mesmo bd em access, e quanto a velocidade chega a ser ridículo comparar, sem contar o preço do access e do Mysql (free).

Velho to LOKO pra aprender a mexer em mysql, mas não achei nada legal pra estudar, só a pequena bibilia de 1200 paginas do mysql, mas é muita coisa mesmo pra ler e nhaum tenho o ano todo pra ler isso =/

ainda to atras de algum tutorial legal pra ler e aprender o basico pra começar...

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos lá.... vou me intrometer nesta também e sem tulmutuar!!! smile.gif

SELECT * FROM Tabela 
Não recomendavel pois sobrecarrega a pesquisa no BD, ele vai puxar toda tabela.
SELECT CAMPO_1, CAMPO_2, CAMPO_3 FROM Tabela
Mais recomedavel, pois seu banco de dados, vai lhe retornar apenas colunas selecionadas.
SELECT CAMPO_1, CAMPO_2, CAMPO_3 FROM Tabela WHERE Campo_1 = Criterio

Recomendavel devido enviar uma consulta exata para pesquisa!!!

Digo isso para o Access!!!!!

Quando se trabalha com MySQL (outros 500 né!!!!! DackAle-> Melhor estudo é na pratica Brother!!), temos a opção de LIMIT

onde você determina a quantidade de registros (Inicio e Fim), criando assim um intervalo para consulta smile.gif

Agora, já que você vai levar as coisas serias, e quer arrebentar a boca do Balão.... SQL Server 200 - Funções, Stored Procedures e Views devem resolver seu problema wink.gif

Eu, já havia visto, em uma pagina gringa... um esquema de criar uma Stored Procedure no Access e trabalhar os dados de formas de páginas, mas como eu vi aqui no trampo, deixei o link em favoritos e detonaram meu profile... não tenho +, mas sei que é possivel SIM

Valeu a minha opinião ?

Abraços Galera!!

Link para o comentário
Compartilhar em outros sites

  • 0
interessante... mas sabe se existe forma alternativa para access ?

não sei não!! voce testou com access e não funciona???

Uma boa solução para access é abandona-lo laugh.giflaugh.gif

Cara!! passei a semana passada toda dando uma estuda em mysql e sinceramente só vou usar access denovo por restrição de servidor, pois o bd em média tem a metade do tamanho do mesmo bd em access, e quanto a velocidade chega a ser ridículo comparar, sem contar o preço do access e do Mysql (free).

Velho to LOKO pra aprender a mexer em mysql, mas não achei nada legal pra estudar, só a pequena bibilia de 1200 paginas do mysql, mas é muita coisa mesmo pra ler e nhaum tenho o ano todo pra ler isso =/

ainda to atras de algum tutorial legal pra ler e aprender o basico pra começar...

da uma passeada la na seção de MySQL quem sabe você encontra alguma coisa, qualquer duvida pede umas dicas pro gladiador que o cara sabe tudo de Mysql já vi gente apostando nota de US$100 para uma duvida que ele não resolva.

Link para o comentário
Compartilhar em outros sites

  • 0

ehhe legal vocês mudaram um pouco o rumo mais mesmo assim valeu guto explica mais ai se possivel para que eu posso entender seu ponto de vista

uma pergunta cyber é esse limit é possivel usar com SQL Server 2000?

O MSSQL Server não aceita LIMIT, uma idéia é usar select top para fazer a paginação usando um campo autonumeração como controle, algo do tipo:

select * top 10 from tabela where Id > (pagina-1)*10 order by id

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...