O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Sua resposta não foi enviada.
A sua postagem aparecerá após ser aprovada pelos moderadores.
Em uma lista aleatória de +/- 700 id's do banco, e deve ser listadas apenas elas, e, não tem nenhum critério para filtrar o que não deve ser listado,
qual seria a melhor maneira de fazer isso?
Se existir alguma função mágica nativa eu não faço idéia, usar um laço e repetir a query 70 vezes me parece um tanto "brutal", assim como usar 700 "and's" na query...
Qualquer condicional que impedisse apenas de ser exibido (como pegar as ids em um array e só exibir se existisse no array por exemplo, não afetando a query), não teria como ser ordenada, e ainda assim seria feita a query toda (prejudicando uma possivel paginação por exemplo) ...
Alguma idéia de como fazer isso extraindo melhor desempenho possivel?
> Ola pessoal, tava analisando a seguinte situação:
> Em uma lista aleatória de +/- 700 id's do banco, e deve ser listadas
> apenas elas, e, não tem nenhum critério para filtrar o que não deve ser
> listado,
> qual seria a melhor maneira de fazer isso?
> Se existir alguma função mágica nativa eu não faço idéia, usar um laço e
> repetir a query 70 vezes me parece um tanto "brutal", assim como usar 700
> "and's" na query...
> Qualquer condicional que impedisse apenas de ser exibido (como pegar as ids
> em um array e só exibir se existisse no array por exemplo, não afetando a
> query), não teria como ser ordenada, e ainda assim seria
> feita a query toda (prejudicando uma possivel paginação por exemplo) ...
> Alguma idéia de como fazer isso extraindo melhor desempenho possivel?
-- Welington da Veiga Silva
---
"Há pessoas que transformam o sol numa simples mancha amarela, mas há
aquelas que fazem de uma simples mancha amarela o próprio sol."
( Pablo Picasso )
não sei se você entende como um query funciona, mas te recomendo a dar uma
pesquisada sobre isso.
O jeito, é fazer a query para obter todos os id`s, pois são apenas 700 e não
7 bilhões. E, depois, filtrar segundo o seu critério de ids aletórios. Juro
que não entendi nem como funciona esse critério - até porque você não
explicou -, mas se você sabe, então o aplique depois da query para obter
todos os registros.
>> Ola pessoal, tava analisando a seguinte situação:
>> Em uma lista aleatória de +/- 700 id's do banco, e deve ser listadas
>> apenas elas, e, não tem nenhum critério para filtrar o que não deve ser
>> listado,
>> qual seria a melhor maneira de fazer isso?
>> Se existir alguma função mágica nativa eu não faço idéia, usar um laço e
>> repetir a query 70 vezes me parece um tanto "brutal", assim como usar 700
>> "and's" na query...
>> Qualquer condicional que impedisse apenas de ser exibido (como pegar as
>> ids em um array e só exibir se existisse no array por exemplo, não afetando
>> a query), não teria como ser ordenada, e ainda assim seria
>> feita a query toda (prejudicando uma possivel paginação por exemplo) ...
>> Alguma idéia de como fazer isso extraindo melhor desempenho possivel?
> --
> Welington da Veiga Silva
> ---
> "Há pessoas que transformam o sol numa simples mancha amarela, mas há
> aquelas que fazem de uma simples mancha amarela o próprio sol."
> ( Pablo Picasso )
Uma abordagem que poderia ser utilizada é são queries preparadas,
disponíveis em algumas classes de abstração de bd.
a lógica seria a seguinte:
1.você prepararia um array com números aleatórios dentro do intervalo
desejado
2. Você passa o array para a query preparada.
> Ola pessoal, tava analisando a seguinte situação:
> Em uma lista aleatória de +/- 700 id's do banco, e deve ser listadas
> apenas elas, e, não tem nenhum critério para filtrar o que não deve ser
> listado,
> qual seria a melhor maneira de fazer isso?
> Se existir alguma função mágica nativa eu não faço idéia, usar um laço e
> repetir a query 70 vezes me parece um tanto "brutal", assim como usar 700
> "and's" na query...
> Qualquer condicional que impedisse apenas de ser exibido (como pegar as ids
> em um array e só exibir se existisse no array por exemplo, não afetando a
> query), não teria como ser ordenada, e ainda assim seria
> feita a query toda (prejudicando uma possivel paginação por exemplo) ...
> Alguma idéia de como fazer isso extraindo melhor desempenho possivel?
Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity. - David Gelernter
Eu vou explicar melhor, tem sim como filtrar na query, o que eu quiz dizer é que não há critério exceto a própria id, ou seja, eu teria que resgatar todas as 700 linhas com as 700 id's aleatórias. Aleatórias, porque não são sempre as mesmas 700 ids, e não porque são geradas na hora, elas vem de um campo do db, separadas por virgurla, tipo "12,150,63,18" e por ai vai, para resgata-las eu pego o campo e dou um explode, a partir dai é que seria o problema:
prejudicaria significativametne o desempenho um "where" com esses 700 ids? Existe maneira própria otimizada de fazer esse tipo de coisa (mesmo que o valor seja pequeno, poderia exisitir uma situação que é muito maior)?
Um situação que exemplica bem o que estou dizendo seria um sistema administrativo onde eu tenho dezenas de usuarios mas cada um, só pudesse editar/acessar 700 linhas especificas do db ...
> Eu vou explicar melhor, tem sim como filtrar na query, o que eu quiz dizer
> é que não há critério exceto a própria id, ou seja, eu teria que resgatar
> todas as 700 linhas com as 700 id's aleatórias. Aleatórias, porque não são
> sempre as mesmas 700 ids, e não porque são geradas na hora, elas vem de um
> campo do db, separadas por virgurla, tipo "12,150,63,18" e por ai vai, para
> resgata-las eu pego o campo e dou um explode, a partir dai é que seria o
> problema:
> prejudicaria significativametne o desempenho um "where" com esses 700
> ids? Existe maneira própria otimizada de fazer esse tipo de coisa (mesmo
> que o valor seja pequeno, poderia exisitir uma situação que é muito maior)?
> Um situação que exemplica bem o que estou dizendo seria um sistema
> administrativo onde eu tenho dezenas de usuarios mas cada um, só pudesse
> editar/acessar 700 linhas especificas do db ...
> Eu vou explicar melhor, tem sim como filtrar na query, o que eu quiz dizer > é que não há critério exceto a própria id, ou seja, eu teria que resgatar > todas as 700 linhas com as 700 id's aleatórias. Aleatórias, porque não são > sempre as mesmas 700 ids, e não porque são geradas na hora, elas vem de um > campo do db, separadas por virgurla, tipo "12,150,63,18" e por ai vai, para > resgata-las eu pego o campo e dou um explode, a partir dai é que seria o > problema:
> prejudicaria significativametne o desempenho um "where" com esses 700 > ids? Existe maneira própria otimizada de fazer esse tipo de coisa (mesmo > que o valor seja pequeno, poderia exisitir uma situação que é muito maior)?
> Um situação que exemplica bem o que estou dizendo seria um sistema > administrativo onde eu tenho dezenas de usuarios mas cada um, só pudesse > editar/acessar 700 linhas especificas do db ...
a questão era + relativa a desempenho, mas com certeza vou estudar mais sobre o assunto sim, até porque quero entender detalhadamente como uma query é processada ...E to longe disso ainda.
Jean, Fernando,
poutz é verdade, viajei no explode ...Vou adotar o método q mencionaram, pois ja vi que esse idependente do numero ser 700 ou 7mil vai obrigatoriamente ser o unico método viavel pra esse tipo de caso.
> a questão era + relativa a desempenho, mas com certeza vou estudar mais
> sobre o assunto sim, até porque quero entender detalhadamente como uma query
> é processada ...E to longe disso ainda.
> Jean, Fernando,
> poutz é verdade, viajei no explode ...Vou adotar o método q mencionaram,
> pois ja vi que esse idependente do numero ser 700 ou 7mil vai
> obrigatoriamente ser o unico método viavel pra esse tipo de caso.
>> a questão era + relativa a desempenho, mas com certeza vou estudar mais
>> sobre o assunto sim, até porque quero entender detalhadamente como uma query
>> é processada ...E to longe disso ainda.
>> Jean, Fernando,
>> poutz é verdade, viajei no explode ...Vou adotar o método q mencionaram,
>> pois ja vi que esse idependente do numero ser 700 ou 7mil vai
>> obrigatoriamente ser o unico método viavel pra esse tipo de caso.