[Résolu][Base] limites de stockage d'une table
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 13
- Inscription : 02 nov. 2023 22:48
[Résolu][Base] limites de stockage d'une table
bonjour, je n'ai cette fois ci non pas un problème mais plutôt une question !
j'expose le contexte ici:
j'ai le projet de créer une base de donnée via un document Base permettant d'enregistrer beaucoup d'information.
environ 20 tables donc 12 d'entres elles contenant 6 colonnes et avec un maximum de 100 000 lignes. 4 colonnes sont de type memo avec environ 200 caractères.
Mon premier problèmes est une question de mémoire, j'ai pu lire sur le forum que une fois avoir rencontrer le problèmes que le fichier base sature d'information lorsqu'on lui injectes trop de requêtes. Et que l'affichage des valeurs reste impossible une fois le problèmes survenu.
Mon but était de tester l'efficacité de calcul de la base une fois la quantité de donnée stocké. Ce qui me semble être une bonne idée avant de commencer concrètement mon projet. Cependant via cette limite, je ne peux m'assurer du bon fonctionnement de cette dernière une fois remplie. J'ai essayer de deux manière différente:
-1 j'utilise une macro exécutant un insert dans ma table, j'ai tester de le faire 10 000 par 10 000, je n'ai pas eu d'erreur d'insertion mais une erreur d'affichage: " S1000 General error java.lang.NullPointerException "
-2 et en insérant 100 000 d'un coup j'ai eu l'erreur du pointeur:" java.io.IOException: java.lang.NullPointerException. "
Connaissez vous un moyen différent afin de réaliser mes tests afin d'avoir une base bien remplie sans qu'elle ne se casse avec le S1000 General error?
Et finalement, la base à elle une réel limites d'affichage comme vécu dans mon premier test 1 ? même une requête select ne veux plus s'exécuter.
merci à tous, bonne soirée
j'expose le contexte ici:
j'ai le projet de créer une base de donnée via un document Base permettant d'enregistrer beaucoup d'information.
environ 20 tables donc 12 d'entres elles contenant 6 colonnes et avec un maximum de 100 000 lignes. 4 colonnes sont de type memo avec environ 200 caractères.
Mon premier problèmes est une question de mémoire, j'ai pu lire sur le forum que une fois avoir rencontrer le problèmes que le fichier base sature d'information lorsqu'on lui injectes trop de requêtes. Et que l'affichage des valeurs reste impossible une fois le problèmes survenu.
Mon but était de tester l'efficacité de calcul de la base une fois la quantité de donnée stocké. Ce qui me semble être une bonne idée avant de commencer concrètement mon projet. Cependant via cette limite, je ne peux m'assurer du bon fonctionnement de cette dernière une fois remplie. J'ai essayer de deux manière différente:
-1 j'utilise une macro exécutant un insert dans ma table, j'ai tester de le faire 10 000 par 10 000, je n'ai pas eu d'erreur d'insertion mais une erreur d'affichage: " S1000 General error java.lang.NullPointerException "
-2 et en insérant 100 000 d'un coup j'ai eu l'erreur du pointeur:" java.io.IOException: java.lang.NullPointerException. "
Connaissez vous un moyen différent afin de réaliser mes tests afin d'avoir une base bien remplie sans qu'elle ne se casse avec le S1000 General error?
Et finalement, la base à elle une réel limites d'affichage comme vécu dans mon premier test 1 ? même une requête select ne veux plus s'exécuter.
merci à tous, bonne soirée
Dernière modification par loup_gcl le 16 déc. 2023 23:24, modifié 3 fois.
LibreOffice 7.5.9.2 sous Windows 10
-
- RespOOnsable forum
- Messages : 9258
- Inscription : 28 août 2010 08:45
Re: [Base] limites fichier et efficacité
Bonjour et bienvenue,
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?
Lisez ce fil pour savoir quelle balise utiliser : sutra27295.html#27295
N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.
Merci de votre collaboration.
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?
Lisez ce fil pour savoir quelle balise utiliser : sutra27295.html#27295
N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.
Merci de votre collaboration.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- InconditiOOnnel
- Messages : 951
- Inscription : 19 août 2018 05:20
Re: [Base] limites de stockage du fichier
Bonjour,
Sans macro et sans fichier pour reproduire, comment pensez-vous qu'on puisse aider ?
Sans macro et sans fichier pour reproduire, comment pensez-vous qu'on puisse aider ?
Open Office 4.1.15 sous Windows 11
-
- NOOuvel adepte
- Messages : 13
- Inscription : 02 nov. 2023 22:48
Re: [Base] limites de stockage du fichier
bonjour,
je ne vous ai pas partagé de fichier étant donnée que le code de la macro est primaire et ne m'avais pas l'aire de poser de problèmes...
Voici mon fichier en pièces jointes. Afin de tester, j'ai uniquement créer une table de 5 colonnes, la macro remplie les lignes de quelques valeurs, encore loin des 300 caractères et 100 000 lignes dont je vous ai parlé au dessus.
je ne vous ai pas partagé de fichier étant donnée que le code de la macro est primaire et ne m'avais pas l'aire de poser de problèmes...
Voici mon fichier en pièces jointes. Afin de tester, j'ai uniquement créer une table de 5 colonnes, la macro remplie les lignes de quelques valeurs, encore loin des 300 caractères et 100 000 lignes dont je vous ai parlé au dessus.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par loup_gcl le 17 déc. 2023 11:13, modifié 1 fois.
LibreOffice 7.5.9.2 sous Windows 10
-
- InconditiOOnnel
- Messages : 951
- Inscription : 19 août 2018 05:20
Re: [Base] limites de stockage du fichier
Vous essayez d'insérer 100.000 lignes avec une clé primaire déclarée avec un entier (integer).
Vous devriez revoir les fondamentaux.
Vous devriez revoir les fondamentaux.
Open Office 4.1.15 sous Windows 11
-
- NOOuvel adepte
- Messages : 13
- Inscription : 02 nov. 2023 22:48
Re: [Base] limites de stockage du fichier
Bonjour,
Pour le moment mon but n'est pas de créer la structure, mais uniquement d'avoir une base bien remplie pour pouvoir faire mes test.
Il ne me semble pas qu'un entier en clé primaire cause de soucis à faire cela ?
Pour le moment mon but n'est pas de créer la structure, mais uniquement d'avoir une base bien remplie pour pouvoir faire mes test.
Il ne me semble pas qu'un entier en clé primaire cause de soucis à faire cela ?
LibreOffice 7.5.9.2 sous Windows 10
-
- InconditiOOnnel
- Messages : 951
- Inscription : 19 août 2018 05:20
-
- NOOuvel adepte
- Messages : 13
- Inscription : 02 nov. 2023 22:48
Re: [Base] limites de stockage du fichier
que me conseillez vous comme type de clé primaire alors ?
merci
merci
LibreOffice 7.5.9.2 sous Windows 10
-
- InconditiOOnnel
- Messages : 951
- Inscription : 19 août 2018 05:20
Re: [Base] limites de stockage du fichier
Les différents types de champ sont donnés dans la documentation
https://wiki.openoffice.org/wiki/FR/Doc ... es_entiers
Pour ce qui est de votre macro, elle ne fonctionne pas car elle nécessite l'inscription de la base.
En suivant le suprême de code suivant : http://forum.openoffice.org/fr/forum/vi ... =15&t=1454
Et ce tutoriel : https://beaussier.com/sections/viewtopic.php?f=8&t=1577
Cela fonctionne de la manière suivante :
https://wiki.openoffice.org/wiki/FR/Doc ... es_entiers
Pour ce qui est de votre macro, elle ne fonctionne pas car elle nécessite l'inscription de la base.
En suivant le suprême de code suivant : http://forum.openoffice.org/fr/forum/vi ... =15&t=1454
Et ce tutoriel : https://beaussier.com/sections/viewtopic.php?f=8&t=1577
Cela fonctionne de la manière suivante :
Code : Tout sélectionner
Sub InsertionEnMasse
sUrl = ThisDatabaseDocument.URL
oDC = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oSrc = oDC.getByName(sUrl)
oDB = oSrc.getConnection("","")
oCnx = oDB.createStatement()
For i = 1 To 20000
Dim valeur1 As String
Dim valeur2 As String
Dim valeur3 As Integer
Dim valeur4 As Integer
valeur1 = "Valeur " & i
valeur2 = "Valeur " & i
valeur3 = i
valeur4 = i
'Construire la requête d'insertion
Dim query As String
query = "INSERT INTO ""Table"" (""nom"",""prenom"",""age"",""zone"") VALUES ('" & valeur1 & "', '" & valeur2 & "', " & valeur3 & ", " & valeur4 & ")"
'Exécuter la requête d'insertion
oCnx.executeUpdate(query)
Next i
oCnx.dispose
End Sub
Open Office 4.1.15 sous Windows 11
-
- NOOuvel adepte
- Messages : 13
- Inscription : 02 nov. 2023 22:48
Re: [Base] limites de stockage du fichier
merci pour le retour,
J'ai changé le type de clé primaire pour un BigInt.
En exécutant la macro que vous m'avez partagé, le résultat reste le même, un erreur de NullPointerException... je ne comprends pas d'où peu provenir l'erreur.
Une remarque particulière est que l'erreur ne vient pas toujours à partir d'une certaines lignes, c'est à dire que je peux exécuter 3 fois l'insert de 20.000 et être bloqué au court de la 3eme itération soit >60.000 et <80.000 ou alors exécuter une fois l'insert de 100 000 est avoir l'erreur à la 85.000
une fois l'erreur reçu, je suis obligé de recréer un fichier base sinon l'erreur du PointerNull sera reçu presque des le début de la prochaine insertion que je ferai (même pour une nouvelle table créer).
C'est embêtant sachant que ce n'est pas mon but premier d'inserer 100.000 lignes mais plutôt de savoir si le fichier se comporte bien avec les opérations futur que je vais devoir faire.
J'ai changé le type de clé primaire pour un BigInt.
En exécutant la macro que vous m'avez partagé, le résultat reste le même, un erreur de NullPointerException... je ne comprends pas d'où peu provenir l'erreur.
Une remarque particulière est que l'erreur ne vient pas toujours à partir d'une certaines lignes, c'est à dire que je peux exécuter 3 fois l'insert de 20.000 et être bloqué au court de la 3eme itération soit >60.000 et <80.000 ou alors exécuter une fois l'insert de 100 000 est avoir l'erreur à la 85.000
une fois l'erreur reçu, je suis obligé de recréer un fichier base sinon l'erreur du PointerNull sera reçu presque des le début de la prochaine insertion que je ferai (même pour une nouvelle table créer).
C'est embêtant sachant que ce n'est pas mon but premier d'inserer 100.000 lignes mais plutôt de savoir si le fichier se comporte bien avec les opérations futur que je vais devoir faire.
LibreOffice 7.5.9.2 sous Windows 10
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] limites de stockage du fichier
Salut,
Aucun problème avec la macro de Dolev, j'ai bien 20.000 tuples enregistrés dans la table de ton ODB.
Testé sous OpenOffice 4.1.14 et Windows 10 Pro.
Je vois ceci :
Mets toi à jour.
Aucun problème avec la macro de Dolev, j'ai bien 20.000 tuples enregistrés dans la table de ton ODB.
Testé sous OpenOffice 4.1.14 et Windows 10 Pro.
Je vois ceci :
Cette version a été déclarée en fin de vie en 2022.Dans ta signature, il y a écrit :LibreOffice 7.3.4.2 sous Windows 10
Mets toi à jour.
-
- PassiOOnné
- Messages : 629
- Inscription : 09 août 2017 22:15
Re: [Base] limites de stockage du fichier
Hello,
avec une version 64 bits LibreOffice 7.6.2.1 et une migration de base hsqldb en firebird, je n'ai pas eu de souci pour insérer 120000 enregistrements même en utilisant un Integer pour la clé primaire ( sans doute à cause du 64 bits). Par contre je trouve que c'est lent pour faire des insertions ( plusieurs dizaines de secondes).
Ami calmant, J.P
avec une version 64 bits LibreOffice 7.6.2.1 et une migration de base hsqldb en firebird, je n'ai pas eu de souci pour insérer 120000 enregistrements même en utilisant un Integer pour la clé primaire ( sans doute à cause du 64 bits). Par contre je trouve que c'est lent pour faire des insertions ( plusieurs dizaines de secondes).
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] limites de stockage du fichier
HSQLDB avec un BIGINT en clef primaire supporte très bien la charge.
Maintenant l'insertion de 120.000 tuples va effectivement mettre un certain temps (~25 sec).
On peut alors mettre en place une barre de progression.
Maintenant l'insertion de 120.000 tuples va effectivement mettre un certain temps (~25 sec).
On peut alors mettre en place une barre de progression.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- RespOOnsable forum
- Messages : 12231
- Inscription : 08 nov. 2005 16:23
- Localisation : Caen, France
Re: [Base] limites de stockage du fichier
Réponses lues et aucune nouvelle, le fil est classé comme résolu.Dernière visite : 25 janv. 2024 20:30
Merci de le faire par vous-même la prochaine fois.