Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
769 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Requêtes plus propres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Requêtes plus propres

n°1241047
Tirkyth
Posté le 08-11-2005 à 10:42:29  profilanswer
 

bonjour tout le monde.
 
Cela va vous paraitre une question de base mais j'ai testé différents trucs qui n'ont pas fonctionnés donc je m'en remet à vous :)
En fait j'ai un script PHP qui génère une requete pour mySQL, et en fait donc ca se présente sous forme de checkbox, la personne peut choisir 4 niveaux d'alertes différentes, ainsi que 3 firewalls différents.
Elle peut donc choisir d'afficher un seul niveau d'alerte, ou 2, ou 3 ou même 4, et de même pour les firewalls.
 
En admettant qu'elle choisissent tout, ca me donne une requête particulièrement lourde telle que :
 
SELECT date,level,firewall,message from `source` WHERE (level='Alert' OR level='Warning' OR level='Notice' OR level='Info') AND (firewall='NS1' OR firewall='NS2' OR firewall='NS3')
 
 
Alors je me demandais si il n'y avais pas un moyen d'allèger tout ca.
Merci d'avance  :hello:  
 
Question subsidiaire : Comme vous avez vu dans le select, il y a un champ nommé 'message'. Je compte pour voir faire une fonction de recherche sur ce champ pour rajouter un filtre en plus. J'ai trouver sur divers site une technique utilisant la syntaxe 'AND message LIKE '%machin%' ' ou une méthode avec index FULLTEXT.
Mais je n'arrive pas à comprendre la différence entre les 2. De plus, lorsque je fais la recherche sur le mot SSH, la méthode FULLTEXT ne renvoie rien alors qu'avec les LIKE ca marche. si vous pouviez juste me mettre quelques lignes sur ca car je pense pas utile de faire un autre topic.


---------------
Mon Feedback !
mood
Publicité
Posté le 08-11-2005 à 10:42:29  profilanswer
 

n°1241058
cinocks
Posté le 08-11-2005 à 10:55:28  profilanswer
 

L'ecriture des recherches fulltext n'est pas pareille que le like. Là il faut consulter la doc MySql.
 
L'avantage du FullText est qu'il va etre beaucoup plus rapide qu'un like. Le like est brute de fonderie et n'exploite pas les index. Alors que le FullText est un index construit pour ameliorer la recherche dedans.
 
Pour ta requete, tu peux dejà faire:
 

Code :
  1. SELECT date, level, firewall, message
  2. FROM `source`
  3. WHERE level IN ('Alert', 'Warning', 'Notice', 'Info')
  4. AND firewall IN ('NS1', 'NS2', 'NS3')


Message édité par cinocks le 08-11-2005 à 10:55:52

---------------
MZP est de retour
n°1241063
Tirkyth
Posté le 08-11-2005 à 11:06:43  profilanswer
 

Je connaissait pas les 'IN', merci beaucoup je vais tester ca tout de suite.
 
Et je te remercie pour la petite explication sur les recherches.
 
:jap:


---------------
Mon Feedback !
n°1241064
cinocks
Posté le 08-11-2005 à 11:09:54  profilanswer
 

au plaisir


---------------
MZP est de retour

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Requêtes plus propres

 

Sujets relatifs
serveur php/mysql en prod sur XP Pro ?[mysql] Réorganiser id pour garder continuité ?
mysql: questionpb encodage java - Mysql
requêteserreur insertion gros bloc de texte dans mySQL
requêtes sqlFormat monétaire sous MySQL ?
Erreur MySQL phpmyadmin[VB.NET/Mysql] Utilisation de MysqlConnector
Plus de sujets relatifs à : [MySQL] Requêtes plus propres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR