Deividy Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Qual é melhor maneira para se manipular um selec?sql_ver = "SELECT * FROM clientes"SET ver_most = com.Execute(sql_ver)sql_ver = "SELECT * FROM clientes"SET ver_most = Server.CreateObject("ADODB.RecordSet")ver_most.Open sql_ver, banco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Eu acho que não tem melhor maneira, heheheVai 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 em três linhas seu arquivo asp fica maior hehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 se fosse só pelo recordcount dava pra usar select count...hehehemais eu sempre uso o 1º... já acustemei com ele.. só quando vou fazer outras coisas tipo o que o cyber disse eu mudo a coiseira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Idem à mim..!Eu tb uso só o primeiro.. Pois, ultimamente to usando bastante getrows.. aí não preciso mais nem do recordcount, heheAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DackAle Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Idem à mim..!Eu tb uso só o primeiro.. Pois, ultimamente to usando bastante getrows.. aí não preciso mais nem do recordcount, heheAbraços Depois que cheguei ao nivel de fazer paginação com getrows, trabalhar com rs já era... hauhahuah muito bom =D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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, 10O 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipefrancesco Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DackAle Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 interessante... mas sabe se existe forma alternativa para access ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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 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). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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. Até mais,Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipefrancesco Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DackAle Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 Vamos lá.... vou me intrometer nesta também e sem tulmutuar!!! 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 = CriterioRecomendavel 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 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 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 SIMValeu a minha opinião ?Abraços Galera!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Deividy Postado Janeiro 19, 2005 Autor Denunciar Share Postado Janeiro 19, 2005 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 vistauma pergunta cyber é esse limit é possivel usar com SQL Server 2000? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 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 vistauma 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Deividy
Qual é melhor maneira para se manipular um selec?
sql_ver = "SELECT * FROM clientes"
SET ver_most = com.Execute(sql_ver)
sql_ver = "SELECT * FROM clientes"
SET ver_most = Server.CreateObject("ADODB.RecordSet")
ver_most.Open sql_ver, banco
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados
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.