Date : champs date ou timestamp ?

Date : champs date ou timestamp ? - SQL/NoSQL - Programmation

Marsh Posté le 10-06-2009 à 12:18:15    

Bonjour,
 
je me posais cette question à propos des dates.
Est ce qu'il faut choisir des champs de type date, datetime etc avec un format précis.... ou est ce qu'il faut plutot jouer avec des timestamps ?
Est ce qu'il existe une différence notable, de performance ou autre ?
 
Parce que je lisais ça dans la doc de Zend Framework :  
 

Citation :


Toutes les bases de données doivent répondre extrêmement rapidement à leurs requêtes. Pour stocker une date de manière optimale dans une base, il faut utiliser un timestamp. En interne, tous les SGBDs représentent les dates sous forme de timestamp (non Unix). Ainsi, leur demander un timestamp sera toujours plus performant que de leur demander une date dans un format précis.  


 
merci pour vos réponses :o

Reply

Marsh Posté le 10-06-2009 à 12:18:15   

Reply

Marsh Posté le 10-06-2009 à 12:58:53    

Citation :

plus performant

L'optimisation des pouillièmes de nanosecondes est intéressante. Mais, dans le monde professionnel, elle passe très loin après d'autres considérations, telles que l'adéquation du programme aux besoins des utilisateurs, la fiabilité du programme, sa lisibilité, sa maintenabilité, sa souplesse de paramètrage, ses évolutions possibles.

Citation :

En interne, tous les SGBDs représentent les dates sous forme de timestamp (non Unix).

Autrement dit, une DATE = un TIMESTAMP. Le néophite ne comprends rien à cet article s'il ne devine pas que l'auteur utilise le mot DATE en sous-entendant TO_CHAR(une_date, "dd/mm/yyyy" ) ou Convert(une_date....). L'auteur dit que la conversion en chaine de caractères prend du temps. Il a raison. Mais souvent cette conversion n'existe pas, car elle n'est nécessaire que dans certains cas. Et de plus, quand la conversion est nécessaire, par exemple, pour un affichage, on ne peut pas s'en passer.


Message édité par olivthill le 10-06-2009 à 13:00:29
Reply

Marsh Posté le 10-06-2009 à 13:03:26    

Personnellement, j'ai pris l'habitude de n'utiliser que du timestamp pour le stockage et d'utiliser PHP pour en faire ensuite ce que je veux.
 
Mais dans certains cas précis, il peut être intéressant d'avoir le format de date pour des opérations complexes qui nécessite une grande puissance de traitement en utilisant les fonctions natives de mysql


---------------
Expert en expertises
Reply

Marsh Posté le 10-06-2009 à 13:23:28    

si tu as besoin de fraction de seconde ->timestamp
si pas besoin de cette précision -> date
 
mais j'imagine que ca peut changer d'un sgbd a un autre suivant les fonctions disponibles pour chaque datatype.

Reply

Marsh Posté le 10-06-2009 à 16:14:11    

Bon eh bien en ce qui me concerne, ça sera date :o
 
merci pour vos éclaircissements.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed