Séparer une table MySQL

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sim100
WRInaute accro
WRInaute accro
 
Messages: 1291
Inscription: Dim Fév 02, 2003 18:45

Séparer une table MySQL

Message le Sam Juil 07, 2007 7:21

Bonjour
Voila, je vais essayer d'expliquer mon problème:
J'ai un site avec une table de plusieurs milliers de lignes, chiffre qui augmente en pernanence évidement.

Dans cette table, j'ai des noms d'endroit du monde classé par continent, pays, villes et lieux.

Donc sur mon site quand quelqu'un ouvre une page sur la tour eifel par example il y a une recheche qui se fait sur toute la table, tous les continents, tous les pays etc...

Donc y a t-il moyen de faire en sorte que comme la toue eifel est dans Paris, de faire un recherche QUE dans le pays france par exemple, que la recherche se passe que dans les lignes appartenant à la catégorie france, ou europe.

De façon à soulager le nombre de requêtes.

Merci, si il y a une doc qqpart

Leguerinos
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 143
Inscription: Mer Juil 26, 2006 23:09

Message le Sam Juil 07, 2007 9:28

Pourquoi ne fais-tu pas , en fonction de tes champs, une requête du type :

SELECT * FROM ma_table WHERE $_POST['Pays'] = 'France'

Ou quelque chose de similaire en fonction de ton type de données (POST, GET, ...)


sim100
WRInaute accro
WRInaute accro
 
Messages: 1291
Inscription: Dim Fév 02, 2003 18:45

oui

Message le Sam Juil 07, 2007 10:24

Oui ça c'est fait.
Mais le programme est quand meme obligé de chercher parmis plusieurs milliers de ligne.

Il m'a semblé entendu dire qu'il y avais un moyen de séparer ça, je en suis pas sur et je ne sais pas comment!

C'est à dire limiter la recherche parmis moins de lignes...

Merci

Leguerinos
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 143
Inscription: Mer Juil 26, 2006 23:09

Message le Sam Juil 07, 2007 10:28

Je crois que tu fais allusion aux index ...

Effectivement, ils permettent sur des grosses bases de diminuer le temps de recherche.

Utilise la commande CREATE INDEX.

petit-ourson
WRInaute passionné
WRInaute passionné
 
Messages: 844
Inscription: Lun Mai 31, 2004 15:19

Message le Sam Juil 07, 2007 12:24

Normalement tu as des index sur tes champs continents, pays et villes. Normalement le type de ces champs sont des entiers. Donc en partant de là tu as déjà optimisé l'essentiel de ton modèle de données.

Normalement avec des requêtes simples, cela devrait être rapide même avec quelques milliers de villes.

Un sgbd est fait pour recherches dans des milliers de lignes, pas uniquement dans 10 lignes.


sim100
WRInaute accro
WRInaute accro
 
Messages: 1291
Inscription: Dim Fév 02, 2003 18:45

ok

Message le Sam Juil 07, 2007 12:38

OK, merci, en fait je pense que je suis bien optimisé.

J'ai un VPS au USA et régulièrement ma base était HS et je devais redémarrer le service :(

J'ai contacté le service client et en fait le max authorisé était 100 personnes en même temps sur la base, ils m'ont augmenté à 150, ça va pour l'instant, je vais voir :)

Leguerinos
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 143
Inscription: Mer Juil 26, 2006 23:09

Message le Sam Juil 07, 2007 13:50

Ok pas de problème.

Bonne journée.

jarreweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Ven Sep 12, 2003 8:17

Message le Lun Juil 09, 2007 16:06

comme on l'a dit, il faut bien vérifier les index et les poser au bon endroit
j'ai, pour mon taf, une table avec plus d'un millions de lignes et ca tourne nickel


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités