IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Problème consommation serveur - SQL/JAVA


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut Problème consommation serveur - SQL/JAVA
    Bonjour à tous, je dispose d'un serveur, qui charge dès le lancement énormément de donnée. Le problème actuel se pose sur une table, qui coute 3 Go à la RAM pour la charger et stocker. Cela pose problème parce que je ne peux même plus charger cette base de donnée sur mon PC.

    Actuellement le nombre d'entrées de la table est de : 3 236 000 et pèse 252 MB.

    Voici la table en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     Target Server Type    : MySQL
     Target Server Version : 100138
     File Encoding         : 65001
     
     Date: 19/05/2019 12:32:11
    */
     
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
     
    -- ----------------------------
    -- Table structure for items
    -- ----------------------------
    DROP TABLE IF EXISTS `items`;
    CREATE TABLE `items` (
      `id` int(11) NOT NULL,
      `template` int(11) NOT NULL,
      `qua` int(11) NOT NULL,
      `pos` int(11) NOT NULL,
      `stats` text NOT NULL,
      `runes` text,
      PRIMARY KEY (`guid`) USING BTREE,
      UNIQUE KEY `guid` (`guid`) USING BTREE
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
     
    SET FOREIGN_KEY_CHECKS = 1;
    Voici maintenant les variables de la class "Item" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	private int id = 0, qua = 0, pos = 0;
    	private ItemTemplate template = null;
    	private String stats = "";
    	private Map<Integer,List<String>> otherStats = new LinkedHashMap<Integer,List<String>>();
    	private static Map<Integer, Item> cache = new HashMap<Integer, Item>();
    	private static int objectIdIndex = 0;
    	private List<EffectManager> effects = new ArrayList<EffectManager>();
    	private List<EffectManager> cCeffect = new ArrayList<EffectManager>();
    A savoir : La liste "cache" me permet de stocker toutes les entrées et de pouvoir les récupérer au fur et à mesure après.

    La liste otherStats contient d'autres statistiques sur l'item, j'ai utilisé un LinkedHashMap parce que je veux que l'ordre d'affichage soit dans l'ordre d'ajout.

    En espérant que vous allez pouvoir m'aiguiller sur des potentiels façon d'optimiser tout ça afin de rendre le chargement beaucoup plus viable.

    Bonne journée et merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    ...................

    ... Le principe d'une base de données, c'est que tu ne charges pas les tables en RAM. Voilà tout...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hello,

    ...................

    ... Le principe d'une base de données, c'est que tu ne charges pas les tables en RAM. Voilà tout...
    Je devrais en fait les charger "à la vole" en gros que quand j'en ai besoin ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Yup. C'est la base de données qui se charge du reste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Yup. C'est la base de données qui se charge du reste.
    J'utilise HikariCP c'est possible avec ? Ou je dois changer de lib ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je ne suis pas au courant d'un problème de ce genre avec HikariCP et je vois mal comment il pourrait y en avoir un. Mais bon, je ne me sers pas beaucoup d'HikariCP.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. procédure stokée sur SQL serveur et java
    Par jeha dans le forum JDBC
    Réponses: 2
    Dernier message: 13/10/2008, 15h41
  2. problème d'instalation sql serveur 2005
    Par amazircool dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/07/2007, 09h45
  3. Réponses: 4
    Dernier message: 17/10/2006, 15h42
  4. Problème de connexion serveur SQL
    Par Invité dans le forum Requêtes
    Réponses: 16
    Dernier message: 21/06/2006, 18h09
  5. Réponses: 5
    Dernier message: 24/09/2005, 20h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo