Valeu por enquanto, vou tentar implementar e logo te mando um email informando sobre o resultado.
Abraço, Hilário. ----- Original Message ----- From: Nicolas To: Luis Hilário Tobler Garcia ; delphi-br@yahoogrupos.com.br Sent: Tuesday, August 05, 2008 8:26 AM Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta Ok, no exemplo abaixo vou exibir o nome da rua na consulta de alunos, a partir dai basta você aplicar a mesma idéia para os outros relacionamentos: Select a.Codigo,a.Nome,r.Nome as NomeDaRua From Alunos a Left Join Ruas r on a.CodigoRua = r.Codigo Veja que quando queremos fazer relacionamentos, precisamos dar um "apelido" (alias) para as tabelas. Neste exemplo a tabela Alunos recebeu o apelido "a" e a tabela Ruas o apelido "r" O relacionamento é feito pelo "Left Join" onde informamos a tabela de relacionamento bem como os campos que se relacionam após a cláusula "on". Acredito que a partir deste embrião você pode fazer todos os relacionamentos que precisa e deixar de usar os lookups que realmente são muito lentos. []s Alexandre ----- Original Message ----- From: Luis Hilário Tobler Garcia To: Nicolas Sent: Monday, August 04, 2008 8:44 PM Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta Então Nicolas, eu só uso queries, tenho relacionamento entre as tabelas, mas não sei como implementar a sua sugestão, o que eu tenho que fazer para exibir, por exemplo, o nome da rua, no dbgrid da consulta de alunos? ps: segue abaixo o código SQL de minhas 4 tabelas. Obrigado, Hilário. CREATE TABLE Cidades (Codigo DMCodigo, Nome DMNomeMedio, UF DMUF, DDD DMDDD, UltimaAlteracao DMData, DataCadastro DMData, CodigoUsuario DMCodigo, PRIMARY KEY(Codigo), FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1)); CREATE TABLE Bairros (Codigo DMCodigo, Nome DMNomeMedio, CodigoCidade DMCodigo, UltimaAlteracao DMData, DataCadastro DMData, CodigoUsuario DMCodigo, PRIMARY KEY(Codigo), FOREIGN KEY(CodigoCidade) REFERENCES Cidades(Codigo), FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1)); CREATE TABLE Ruas (Codigo DMCodigo, Tipo DMTipoRua, Nome DMNomeMedio, CodigoBairro DMCodigo, UltimaAlteracao DMData, DataCadastro DMData, CodigoUsuario DMCodigo, PRIMARY KEY(Codigo), FOREIGN KEY(CodigoBairro) REFERENCES Bairros(Codigo), FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1)); CREATE TABLE Alunos (Codigo DMCodigo, Nome DMNomeLongo, NomeResponsavel DMNomeLongo, RGResponsavel DMRG, CPFResponsavel DMCPF, DataNascimento DMData, DiaNascimento DmDia, Sexo DMUmCaracter, CEP DMCEP, CodigoRua DMCodigo, Numero DMNumero, Complemento DMComplemento, TelefoneResidencial DMTelefone, TelefoneComercial DMTelefone, TelefoneCelular DMTelefone, Email DMNomeMedio, ProximaAvaliacaoFisica DMData, DiadoPagamento DMDia, ProximoPagamento DMData, Observacoes DMNomeLongo, Situacao DMSituacao, UltimaAlteracao DMData, DataCadastro DMData, CodigoUsuario DMCodigo, PRIMARY KEY(Codigo), FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1)); ----- Original Message ----- From: Nicolas To: delphi-br@yahoogrupos.com.br Sent: Monday, August 04, 2008 5:41 PM Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta Minha sugestão é deixar de usar campos lookup, e usar query com relacionamento entre tabelas, dai vc cria índices para os campos de relacionamento e suas consultas irão ganhar velocidade. []s Alexandre ----- Original Message ----- From: Luis Hilário Tobler Garcia To: delphi-br@yahoogrupos.com.br Sent: Monday, August 04, 2008 4:33 PM Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta Boa tarde pessoal, mesmo sem nenhuma sugestão do grupo, consegui achar ONDE está o problema, porém ainda estou tentando achar uma boa solução, o problema está nos campos Lookup, segue abaixo a estrutura de dados, eu ficarei grato em receber, se alguém tiver alguma sugestão ou critica construtiva sobre como continuar disponibilizar os dados lookups do endereço no DBGrid da consulta de Alunos com uma velocidade de acesso aos dados razoável. Valeu, Hilário. CIDADES Codigo Nome UF DDD BAIRROS Codigo Nome NomeCidade (Lookup de CIDADES) UFCidade (Lookup de CIDADES) DDDCidade (Lookup de CIDADES) RUAS Codigo Tipo Nome CodigoBairro NomeBairro (Lookup de BAIRROS) NomeCidade (Lookup de BAIRROS) UFCidade (Lookup de BAIRROS) DDDCidade (Lookup de BAIRROS) ALUNOS Codigo Nome NomeResponsavel RGResponsavel CPFResponsavel DataNascimento DiaNascimento Sexo CEP CodigoRua NomeRua (Lookup de RUAS) NomeBairro (Lookup de RUAS) NomeCidade (Lookup de RUAS) UFCidade (Lookup de RUAS) DDDCidade (Lookup de RUAS) Numero Complemento TelefoneResidencial TelefoneComercial TelefoneCelular Email ProximaAvaliacaoFisica DiadoPagamento ProximoPagamento Observacoes Situacao ----- Original Message ----- From: Luis Hilário Tobler Garcia To: delphi-br@yahoogrupos.com.br Sent: Monday, July 28, 2008 3:59 PM Subject: [delphi-br] [DELPHI-Total] consulta lenta Boa tarde pessoal, estou tendo um problema de lentidão em BD. Faço tudo com queries e depois que o banco passou a ter uns 60 registros em umas 4 tabelas, para abrir uma consulta demora uma eternidade, em um Pentium II 400 demora uns 3 minutos para abrir esta janela. Alguém saberia como resolver isso? ps: Uso Interbase 6.5 Valeu, Hilário [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 08:09 [As partes desta mensagem que não continham texto foram removidas] No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 08:09 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]