|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : août 2007 Messages : 141 ![]() |
Bonsoir,
2eme sujet coup sur coup car plus j en lis et plus je reste perplexe : Quel est il preferable de faire ? Optimiser à mort sa base de données ou faire des controles dans l'application qui utilise la base pour eviter au maximum les requetes ? Et que faire dans certains cas : * vaut il mieux utiliser un DEFAULT CURRENT_TIMESTAMP ou recuperer la date actuelle dans son appli et l inserer dans sa requete ? * vaut il mieux mettre NULL ou NOT NULL + valeur par defaut (genre '' pour des varchar, -1 ou 0 pour des int etc...) ? * vaut il mieux rajouter des contraites style CHECK (EMAIL LIKE %@%) ou faire un controle dans son appli d'autant que bien souvent on stoppe le traitement ou annule la requete (rollback) si elle ne repond pas aux criteres ? * vaut il mieux s'acharner a bien creer tous les index (pour accelerer les recherches, generalement multi colonnes) ou la base s en charge de toute facon automatique a un certain moment ? * certaines bases (comme mysql) emettent des warning pour une colonne utilisée en index (colonne seule) et dans un index unique à multiples colonnes, faut il ignorer ce genre de warning ? Merci à ceux qui donneront qq indications a suivre.... Bonne soiree. |
|
|
00
|
|
|
#2 | |||||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Citation:
A l'inverse, quand tu as la possibilité de faire une date de création automatique (comme par exemple le DEFAULT CURRENT_TIMESTAMP), il suffit de le paramétrer une fois pour toutes et ensuite tu n'as même pas à le mentionner dans tes requêtes ! J'ajouterais que pour les cas où tu veux insérer la date courante dans une colonne où ce n'est pas la valeur par défaut, tu ne passes surtout pas par le code applicatif mais simplement en utilisant CURRENT_DATE, SYSDATE ou autre dans le code SQL. Citation:
Citation:
L'inconvénient, surtout en développement web, est que ça suppose qu'on accepte les saisies incohérentes pour les refuser ensuite... il m'est fréquemment arrivé de développer en double la validation des saisies :
Citation:
Joker pour la dernière question |
|||||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2007 Messages : 141 ![]() |
Interessantes ces explications detaillees.
Certaines m'ont apporté un vrai eclaircissement sur ce que je dois faire, d'autres moins car je pense que ca depend du contexte, de l'appli et de son envergure mais je m'efforcerai de suivre ces directives ^^ En tout cas, un grand merci ! |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Yes. La modélisation objet, c'est très bien pour faire joujou avec des interfaces utilisateur, mais pour gérer des données, autant utiliser un outil adapté. [/TROLL_MODE] Ceci dit, ce débat ne s'applique qu'à l'aspect "contrôles sur l'appli ou sur le SGBD". Pour ce qui est des dates et NULL, je pense que même les objectistes devraient être d'accord. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com