Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patrick Magalhães

PHP + Tabela Grande

Recommended Posts

BOM C FOR NO MYSQL.....

Com essa massa de dados ai as coisas começam a engrossar eu particulamente acho que esse numero total ja foge do que realmente é o correto...

Na minha visão o correto seria varias tabelas com diversos relacionamentos e não apenas uma .....

São muitas coisas que vão influenciar:

1 - Tipo de dados um simples varchar pode influenciar muito ex: varchar(200) para um campo de CEP que poderia ser resolvido com char(9) , int, float, etc..
2 - Storage Engine - existem diversos tipos cada um com sua caracteristica InnoDB, MyISAM, archive, etc...
3 - Otimização de querys - Evitar (*), usar views, stored procedures, etc...
5 - order by rand() jamais!!!!
4 - Chave primaria

5 - Usar o memcache

6 - Se usar PHP usar o improved mysql (mysqli)
7 - Prepared Statements (acho que seria a solucao no momento)

Tem um exemplo abaixo da uma olhada:
http://tableless.com.br/prepared-statements-no-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho uma tabela com cerca de 17 milhoes de registro, só em fazer uma busca com o limite de 1 registro demora....

Tá usando [inline]ORDER BY[/inline]? Se estiver, o problema pode estar aí. Quando você altera a ordenação padrão do retorno, primeiro todas as linhas são buscadas, depois ordenadas e só então é retornado o intervalo desejado.

 

Procure executar a mesma consulta adicionando um [inline]EXPLAIN[/inline] no início e poste aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,

Realmente funcionou, mais como pegar o ultimo registro ? Se "order by" padrão parece ser ASC ?

No aguardo

Crie um índice no campo que será responsável pela ordenação. Se possível - não for utilizar join nesta tabela - você pode tentar criar partições

Compartilhar este post


Link para o post
Compartilhar em outros sites

alter table nomedatabela add index nomedacoluna
alter table nomedatabela partition by hash(nomedacoluna) partitions 10

Note que qualquer uma das operações pode demorar um tanto devido à quantidade de registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não existe isso de mudar o padrão pra [inline]desc[/inline]. O que você precisa é de um índice.

 

select nome, idade, endereço, cadastro from usuario order by cadastro desc

 

demora pra caramba

 

alter table cadastro add index cadastro

 

select nome, idade, endereço, cadastro from usuario order by cadastro desc

rapidim :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother.. nao saber o quê é "alter table" é fod...

 

acho melhor vc pedir a um profissional qualificado para auxiliar no seu serviço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother.. nao saber o quê é "alter table" é fod...

 

acho melhor vc pedir a um profissional qualificado para auxiliar no seu serviço..

alter table eu sei oque é, eu não sei a finalidade de usar em cima do que eu quero --'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.