Boa Eric.

Como o Eric disse, JOIN é algo muito custoso ao banco, não que seja errado,
mas deve ser evitado se possível.

Portanto, é importante pensar em uma modelagem que você evite ao maxímo a
necessidade de JOINS, visando a performance. Nem sempre o mais organizado e
bonito conceitualmente, é o mas eficaz.

Por exemplo, normalizar dados na teoria é muito bonito, mas uma aplicação
com grande volume de dados, acessos e tudo mais, você começa a enxergar
normalização de outra maneira, sacou?

Portanto, além de tudo que foi levantado, ter uma boa modelagem é
fundamental. É meio inviável toda hora que for mostrar um conteúdo vc ficar
fazendo um JOIN entre uma tabela notícia, por exemplo, com seu respectivo
valor em uma tabela de idiomas.

2008/9/18 Eric Saboia (Fortes Informatica) <[EMAIL PROTECTED]>

>  JOIN é uma das operações de query mais custosas para o banco.
> Não existe uma "alternativa" padrão. A idéia é manter a modelagem do seu
> banco da forma que evite ao máximo a necessidade de se fazer um JOIN.
>
> Além disso, atraves da aplicação você pode as vezes armazenar pequenos
> resultados que evitem a necessidade de um JOIN em uma query que retornará
> muitos registros. Por exemplo:
> Você tem um cadastro de itens relacionados com uma tabela que guarda icones
> de status dos itens.
>
> Você pode no começo da página percorrer esses icones de status (que
> provavelmente são poucos) e guardar num array. Depois quando estiver
> percorrendo os itens basta pegar a imagem correspondente através do array
> que você armazenou.
>
> Não sei se ficou claro... mas já que o tópico nem é sobre esse assunto, não
> vou aprofundar pra não perder o foco.
>
> ----- Original Message -----
> *From:* Vinicius Cruz <[EMAIL PROTECTED]>
> *To:* CodeIgniter Brasil <[email protected]>
> *Sent:* Thursday, September 18, 2008 2:40 PM
> *Subject:* Re: [CodeIgniter]Internacionalização - Ajuda com conceitos
>
> uma pergunta meio off-topic,
>
> o JOIN diminui a performance nas consultas? Qual seria a alternativa?
>
> Vinicius
>
> 2008/9/18 Marcus Cavalcanti <[EMAIL PROTECTED]>
>
>> Ah, e não menos importante, ter uma modelagem de dados que além de tratar
>> a organização, trate a questão de performance, como por exemplo evitando
>> JOINS o tempo todo.
>>
>> 2008/9/18 Marcus Cavalcanti <[EMAIL PROTECTED]>
>>
>>  Você pode definir o idioma de diversas maneiras:
>>>
>>> - Lendo o header do navegador para definir idioma;
>>> - Guardando na seção qual idioma (eu prefiro assim, menos processamento);
>>> - Apendando na URL o idioma.
>>>
>>> Eu prefiro armazenar em sessão, pq ao meu ver vc usando Hook, vc acaba
>>> toda vez fazendo um processamento "desnecessário" para verificar os idiomas
>>> e tomar partido do que usar, você guardando isso uma única vez em sessão, é
>>> muito muitos menos custoso em termos de performance.
>>>
>>> Só não se esqueça:
>>> - Questão de Unicode, de preferência usar UTF-8 (DB e arquivos);
>>> - Internacionalização é muito mais do que textos, tem toda questão de
>>> moedas, datas, separadores e validações por exemplo.
>>>
>>> http://www.w3.org/TR/i18n-html-tech-lang/
>>>
>>>
>>> http://www.translate.com/technology/multilingual_standard/software_i18n_article.html
>>>
>>> http://www.mihai-nita.net/article.php?artID=20051025a
>>>
>>>
>>> 2008/9/18 Edinho Almeida <[EMAIL PROTECTED]>
>>>
>>> No hook daria para setar também a configuração do DB para acessar o DB
>>>> no idioma em questão.
>>>>
>>>> Abs
>>>> Edinho
>>>>
>>>> 2008/9/18 Henrique de Castro <[EMAIL PROTECTED]>:
>>>>  > Cara, o CI já separa todas as mensagens, se eu fosse vc usaria hooks
>>>> para
>>>> > setar a localidade e assim carregar os arquivos necessários de
>>>> mensagem.
>>>> >
>>>> > 2008/9/18 Cleyverson Costa <[EMAIL PROTECTED]>
>>>> >>
>>>> >> Pessoal,
>>>> >>
>>>> >> Qual a melhor forma de se trabalhar com Internacionalização??
>>>> >>
>>>> >> 1) Da primeira vz q o usuario entra vcs selecionam o idioma baseado
>>>> em q,
>>>> >> idioma do navegador, local de origem, outros??
>>>> >>
>>>> >> 2) Vcs fazem a conferencia via cookie, session, outros??
>>>> >>
>>>> >> 3) Quanto a tradução em si, é sugerido colocar tudo no mesmo arquivo,
>>>> >> dividir um arquivo por página, outros??
>>>> >>
>>>> >> Caso alguém tenha alguma observação extra por favor incluir.
>>>> >>
>>>> >> Atenciosamente
>>>> >>
>>>> >> --
>>>> >> Cleyverson Pereira Costa
>>>> >> MSc Candidate in Computer Science
>>>> >> Federal University of Pernambuco, Brazil
>>>> >> +55 81 8785-1289 | +55 81 3274-4180
>>>> >>
>>>> >> _______________________________________________
>>>> >> Lista mailing list
>>>> >> [email protected]
>>>> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>> >>
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > Lista mailing list
>>>> > [email protected]
>>>> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Abs
>>>> Edinho Almeida
>>>> 11 8962-9406
>>>>  _______________________________________________
>>>> Lista mailing list
>>>> [email protected]
>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>  ------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a