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
To: CodeIgniter Brasil
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