Ram de BD faible?

WRInaute discret
bonjour

j'ai une base de données contenant presque 800000 enregistrements( taille sur disque 400Mo) , sachant que la taille de Ram est 64Mo/128 Mo, mais j'ai remarqué que le requete de selection (select * from ) prend bcp de temp pour renvoyer un resultat et parfois le temp d'attente de réponse devient depassé c'est qui affiche une erreur de chargement sur le page resulat.Est ce que ca est normal ou manque d'optimisation? sachant que j'utilise les index.
Cordialement.
 
WRInaute accro
C'est bien dur à dire avec le peu d'informations que tu fournis.
Un index ne devrait pas changer grand chose ici.

En revanche quand tu parle de requête de sélection, de quel type de requête parles-tu exactement ?
 
WRInaute discret
dmathieu a dit:
C'est bien dur à dire avec le peu d'informations que tu fournis.
Un index ne devrait pas changer grand chose ici.

En revanche quand tu parle de requête de sélection, de quel type de requête parles-tu exactement ?

bon , je parle de requête standard de selection en mysql (select * from nom table)


j'ai un table intitulé TAB qui contient 11 champs avec un id auto-increment.

je veux selectionner tous les champs à partir du table TAB.

mysql_query(select * from TAB).le problème que ce requête est lourd
sachant que j'ai plusieurs connexions à la base dans le même page (presque 4 conx).
 
WRInaute accro
Ben tu m'étonne que ça prenne du temps à charger si, dans la même page, tu récupère 4 fois 800 000 enregistrements.
Commence par optimiser ça en réduisant de 4 à 1.

Et je doute que tu n'affiche tous tes enregistrements sur cette page. Elle doit être particulièrement lourde sinon.
Pagine de manière à ne pas tout récupérer d'un coup. Ca réduira également le temps d'exécution de la requête.
 
WRInaute discret
mais j'ai bien optimisé toutes les requêtes.

1)Considerez vous que l'utilisation d'une memoire RAM 128MO avec ce base(800000enregistrement avec taille sur disque 300mo) est insuffisant?

2)est ce qu'il est possible d'installer le cms phpmyadmin sur mon propre serveur d'hébergement qui est chez ovh?si oui ,est ce qu'il n'ya pas des risques au niveau de securité?
 
WRInaute passionné
Ca dépend de tes requêtes. Mais ce n'est pas forcément problématique, 128Mo alloué à la BDD c'est plus que ce que j'en ais avec une base plus grosse.
 
WRInaute discret
Leonick a dit:
as-tu fait un explain pour voir si tes requêtes étaient bien optimisées (index corrects, ..) ?

merci pour votre réponse.

j'explique, j'ai une base de donnée de taille max 250Mo , contenant plusieurs tables avec un table qui contient presque 500000 enregistrement, jusqu'au ici je n'ai pas de souci (le temp d'execution et de réponse sont rapides pour les requettes de selection).Alors La taille de la base devient saturée ,donc je ne peut pas ajouter des autres enregistrement dans ce cas , la solution c'est que j'ai changé l'offre vers une base de donnée à taille illimité avec une mémoire ram 128Mo .A partir d'ici vient les problèmes puisque j'ai constaté que les requetes de selection utilisent presque tout la RAm(103Mo/128Mo) et le page demande presque 30 sécondes pour ce charger et parfois affiche un erreur.

voila:

le table de nom :ARTICLE(id,nom_article,prix_article,date_validié,url_article,image_article,Quantité_article,catégorie_article)

dans le même page j'utilise 4 requêtes de selection differentes sur le même table(ARTICLE)

requete 1 simple: Selection de tous les articles qui ont la date_validité=' date sytème'

requete 2 simple: Selection de tous les articles qui ont le prix_article Min avec nom_article='art1'


etc...

quel optimisation il faudrai faire dans ce cas?
 
WRInaute discret
Leonick a dit:
netweb a dit:
quel optimisation il faudrai faire dans ce cas?
utilise http://dev.mysql.com/doc/refman/5.0/fr/explain.html avec ta requête, ça te permet de voir s'il serait souhaitable d'ajouter des index supplémentaires, etc... et tu vois le nombre d'enregistrements lus. Sans index c'est toute la base, avec index ça peut être très fortement diminué si tes requêtes sont bien faites

merci , tout va bien mnt , j'ai un autre question

J'ai veux installé mon propre cms phpMyadmin mais à l'installation un erreur indiquant "Indice de serveur invalide: "0" "
 
WRInaute discret
bonjour,
quand je fais un scan sur le table ARTICLE je trouve que le champ date_validié ( de type DATE) a une cardinalité faible (c'est à dire, beaucoup de lignes sont trouvées). MySQL va alors supposer que l'utilisation de l'index va lui imposer beaucoup de recherches, et qu'un scan de table sera plus rapide.Donc , j'ai utilisé FORCE INDEX sur les tables pour le champ ( date_validité), pour dire à MYSQL que les scans de tables sont trop coûteux, comparé à l'utilisation de l'index.Mais tjs la réquête prend bcp du temp , sachant que sans selection de (date_validité) la requête tourne rapidement.Comment résoudre le problème dans ce cas?
 
Discussions similaires
Haut