Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

criatividade zero

consulta sql 'limitando' retorno

Recommended Posts

tenho uma coluna em tipo texto muito longo, e precisava retornar de forma limitada como uma especie de resumo

como a coluna é grande, retornar tudo e limitar no .write é desperdicio, então implementei left(col, qtd)

 

sql = "select SQL_CACHE left(coluna,10) from tabela"

usaria .write(rs("col")&"...") numa especie de resumo do texto

 

ha algum tipo de restrição ou performance nesse uso?

não sei se é uma forma 'nativa' e preciso de uma solução eficiente

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele gera algum número de erro e linha ????

 

você pode usar o left após fazer o SELECT no bd....

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq vou retornar um campo texto com 10000000 caracteres, se eu posso usar right(campo, qtd) junto ao sql

não tem motivo pra retornar tudo se vou usar nao mais que 100 caracteses desse texto

entao limitei a consulta com right

 

funcionou, mas nao sei se é um uso correto

a performance com right foi muito melhor do que retornando o campo inteiro

nunca vi uma consulta usando right dessa forma, queria saber se o campo for muito grande, o sql vai executar sem problema, ou se tem algum risco de dar algum erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

As limitações irão ocorrer de acordo com o tipo de banco de dados e servidores onde está hospedado o banco de dados, pois cada banco tem maneiras diferentes de se comportar.

Em tese a clausula pode ser boa, mas qual o numero total de registros que você espera que esse sistema trabalhe? Qual o numero de requisições simultaneas que o sistema terá ?

E por ai vai, tem muitos aspectos para serem analizados, e falar por cima sobre se isso é o mais indicado ou não, é bom com mais detalhes em mão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é um campo longtext, mysql, localhost

 

requisições simultaneas - não faço ideia, mas de imediato serão poucas, e a curto prazo muitas

 

é uma chamada individual simples do tipo sql = "select SQL_CACHE left(coluna,10) from texto where id=3"

o campo contem nomes em forma de array: criatividade zero, xanburzum, Vinicius Ianni, fulano de tal

 

no caso são os nomes de usuarios que editaram tal texto, pode ter de 1 usuario ate centenas

então a ideia é retornar de forma limitada que mostre criatividade zero, xanburzum, Vinicius...

não ha problema em quebrar o nome ao meio, o principal é a forma 'concatenada'

 

 

essas info. servem como base?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se puder fazer a concatenação na instrução SQL, bem melhor.... consome menos recursos do server....

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. sql = "select SQL_CACHE coluna from texto where id=3"

2. sql = "select SQL_CACHE left(coluna,10) from texto where id=3"

 

no 1 ele retorna de forma 'simples' todos os dados

no 2 ele precisa executar o left pra poder resgatar o 'necessario'

 

como disse, usando o metodo 1, a performance foi bem melhor usando 100.000 dados como teste

mas a duvida fica em torno dos pontos levantados pelo Vinicius, sera que não da algum problema em 'executar' o left na instrução quando tiver varias chamadas simultaneas online?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.