Calcul de la taille totale des données de la colonne BLOB dans un tableau

j'ai une table avec de grandes quantités de données de BLOB dans une colonne. J'écris un utilitaire pour transférer les données au système de fichiers. Mais avant le dumping, je dois vérifier si l'espace nécessaire est disponible sur le disque pour exporter tous les champs blob dans toute la table.

veuillez Suggérer une approche efficace pour obtenir la taille de tous les champs blob dans la table.

28
demandé sur jatinpreet 2012-05-18 11:54:31

4 réponses

Vous pouvez utiliser la fonction MySQL OCTET_LENGTH(your_column_name). Voir ici pour plus de détails.

36
répondu bodi0 2012-05-18 07:58:42
select sum(length(blob_column)) as total_size 
from your_table
22
répondu juergen d 2012-05-18 07:58:30
select sum(length(blob_column_name)) from desired_tablename;
3
répondu Olofu Mark 2013-06-08 09:53:57

malheureusement C'est spécifique à DB au mieux.

Pour obtenir la taille totale d'une table avec des blobs dans Oracle j'utilise la suite: https://blog.voina.org/?p=374

malheureusement cela ne fonctionne pas dans DB2 je dois encore trouver une alternative.

le simple

select sum(length(blob_column)) as total_size 
from your_table

n'est pas une bonne requête ne va pas estimer correctement la taille blob sur la base de la goutte qui est stocké dans votre colonne blob. Vous devez obtenir le réel taille allouée sur le disque pour les gouttes de la goutte référentiel.

2
répondu voinageo 2016-01-14 07:59:20