2009-09-12 10 views
0

J'ai un projet où j'ai besoin de stocker un grand nombre de valeurs. Les données sont un ensemble de données contenant 1024 valeurs entières non signées de 2 octets. Maintenant, je stocke une valeur à une ligne avec un horodatage et un ID unik. Ces données sont stockées en continu sur la base d'un déclencheur temporel.stocker plusieurs valeurs en tant que binaire dans un champ

Ce que je voudrais faire, c'est stocker toutes les 1024 valeurs dans un champ. Il serait donc possible de faire une routine qui stocke toutes les valeurs entières de 1024 2 octets dans un champ comme binaire. Peut-être un blobfield. Merci.

Br. Enghoej

Répondre

0

Oui. Vous pouvez sérialiser vos données dans un tableau d'octets et les stocker dans un BLOB. 2048 octets seront pris en charge dans un BLOB dans la plupart des bases de données.

+0

C'est génial. Ai-je besoin d'une applet en dehors de mysql pour le faire, ou peut-elle être faite par une commande sql? (Désolé mon novice). Êtes-vous capable de coller un extrait de code ou un lien vers des informations plus détaillées sur la façon de procéder. Merci. –

+0

Voici un code montrant comment faire cela avec une image. Le même code (C#) fonctionnera avec n'importe quel flux de mémoire, qui peut être construit sur un tableau byte []. Si vous me donnez votre langue de choix, je peux probablement en trouver un dans cette langue (bien que la traduction soit facile): http://forums.mysql.com/read.php?39,121077,122578 –

0

Une grande question à se poser est "comment vais-je avoir besoin de récupérer ces données?" Tous les rapports ou requêtes tels que "quels ID ont la valeur X définie sur Y" devront charger toutes les lignes de la table et analyser les données AFAIK. Par exemple, s'il s'agissait de données de configuration d'utilisateur, vous devrez peut-être savoir quels utilisateurs ont défini un paramètre particulier de manière incorrecte.

Dans SQL Server, je suggère d'envisager d'utiliser un type de données XML et de stocker un schéma connu, car cela peut être interrogé avec XPath. MySQL n'a pas supporté cela à partir de 2007, donc ce n'est peut-être pas une option pour vous.

Je voudrais certainement envisager de ventiler toutes les données que vous pourriez avoir besoin d'interroger de cette manière dans des colonnes séparées.

Notez également que vous ne pourrez pas interpréter les données BLOB sans application client.

Vous souhaitez toujours envisager de générer des rapports. Les bases de données finissent souvent avec plusieurs clients au fil des ans.