Taille de Blob [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 21-09-2006 à 13:50:57
"Des malades, c'est des malades !!"
Pourquoi ne pas mettre juste les liens, vers les images ?
Marsh Posté le 21-09-2006 à 14:06:24
Blob... 64 Ko ???
C'est pas plutôt 64 Go la limite ? A la limite que PHP utilise un drivers trop merdique pour relire plus de 64 Ko, je veux bien, mais MySQL avec une telle limite, j'en doute très fortement...
Sinon, pour des images, je suis d'accord avec Chani_t, ça n'a aucun intérêt de stocker les images directement dans la base.
Marsh Posté le 21-09-2006 à 14:10:18
Je sais que ça paraît con de les mettre en base de données, mais je bosse sur un site typo3, qui lui utilise beaucoup de blob pour ses contenu !
Marsh Posté le 21-09-2006 à 14:39:16
dixit doc mysql :
La taille maximale d'une ligne dans une table MyISAM est de 65534 octets. Les colonnes BLOB et TEXT
acceptent jusqu'à 5−9 octets en dessous de cette taille.
Marsh Posté le 21-09-2006 à 14:41:48
et en mysql mais pas MyISAM ?
Marsh Posté le 21-09-2006 à 14:44:12
justement je cherche la doc de la version 5... c'étais en version 4.1...
Marsh Posté le 21-09-2006 à 15:05:58
Dixit mysql 5 Innodb:
15.17. Restrictions sur les tables InnoDB
*
Une table ne peut pas contenir plus de 1000 colonnes.
*
La taille maximale d'une clé est de 1024 octets.
*
La taille maximale d'une ligne, hormis pour les colonnes de type BLOB et TEXT, et légèrement inférieure à la moitié d'une page de base, c'est à dire, que la taille maximale d'une ligne est d'environs 8000 octets. Les colonnes LONGBLOB et LONGTEXT doivent être un peut plus petite que 4Go, et la taille totale d'une ligne, incluant les colonnes BLOB et TEXT doivent être de 4 Go. InnoDB stocke les 512 premiers octets des valeurs BLOB et TEXT dans la ligne, et le reste dans une page séparée.
*
Sur certains systèmes d'exploitation, le fichier de données est limité à 2 Go.
*
La taille combinée des fichiers de log doit être inférieure à 4 Go.
*
La taille minimale d'un espace de tables est de 10Mo. La taille maximale d'un espace de tables est de 4 milliards de pages de bases (64To). C'est aussi la taille maximal d'une table.
*
Les tables InnoDB ne supportent pas les index FULLTEXT.
EDIt : ICI
Marsh Posté le 21-09-2006 à 15:11:10
Ca me ferait bien chier que MySQL ne supporte que 64 Ko.
Je viens de vérifier :
Oracle : 4 Go
SQL Server : 2 Go
Postgre SQL : 1 à 2 Go
Access : Pas de limite indiquée. En tout cas, plus de 64 Ko pour les "OLE Objects" puisqu'il le préconnisent si on trouve les 64 Ko du "Memo" trop petits
Bref, MySQL serait-il toujours en deça d'Access, y compris au niveau du moteur ?
-- edit : ah ben voilà, 4 Go c'est quand même mieux --
Marsh Posté le 21-09-2006 à 15:13:34
Par contre, le coup du InnoDB qui ne supporte pas le FULLTEXT, c'est bien minable... Au moins avec Oracle, SQL Server et Postgre SQL, on peut indexer les gros blobs... C'est quand même mieu qu'un bon gros LIKE des familles sur un champ qui fait 2 Go
Marsh Posté le 21-09-2006 à 13:36:47
Salut,
Je chercher à stocker des images dans des blob. J'ai réussi, pas de soucis.
Mais j'ai un problème avec les grosses images. J'ai remarqué que les blob sont limités à 64 Ko
A partir de là, j'ai 2 questions :
_Peut-on changer cette limite ?
_Si oui, comment le faire ?
Merci de votre aide.