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

