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

Développement SQL Server Discussion :

Table En Ram


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Points : 47
    Points
    47
    Par défaut Table En Ram
    Bonjour,

    je suis sous SQL 2005 & 2008.
    Je cherche à comprendre une chose...

    voila lors d'une premiere requete sur une grosse table 22millions de lignes dans le but de faire des comptages.
    la requete prends ~28s toutes les requetes qui suivent avec des parametres differents mettent globalement moins de 2 ~3s.
    j'en deduit qu'il place la table en RAM.

    alors j'ai une question comment forcer SQL-server à placer et surtout garder une table en RAM ?
    Car au bout d'un moment elle reprends ces 28s ?
    et nous aimerions dedier un serveur à ce type d'activites.


    Merci par avance.
    Ch.
    -> SGBR=SQL SERVER 2014 <-

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Cela est impossible, car votre RAM n'étant pas extensible à l'infini, si vous pouviez forcer la mise en RAM, cela serait aux détriment de toutes les autres données. Par exemple si votre table était aussi volumineuse que la RAM alors aucune autre table ne pourrait monter en mémoire et plus aucune requête sur ces tables là ne serait passible. Car un SGBDR fonctionne exclusivement en RAM, jamais sur le disque !

    Pour cela le moteur de stockage monte en RAM les tables au fur à mesure des besoins du moteur relationnel.
    Afin d'optimiser le stockage il utilise un algorithme de type LRU : Last recent Use. EN gros, plus j'ai récemment utilisé une donné, plus elle a de chances d'être réutilisée rapidement. (ou mettez-vous vos chaussettes et vos combinaisons de ski ?

    Si vous voulez que cette table particulière soit toujours présente en RAM, augmentez la RAM !
    Un SGBDR à besoin de beaucoup de RAM !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. select (fetch) lent sur grosse table 600Mo (pb RAM ?)
    Par nosapiens dans le forum Requêtes
    Réponses: 12
    Dernier message: 19/01/2013, 22h37
  2. optimisation serveur: tables 1G, 5 clients, 24G ram
    Par Zwiter dans le forum Administration
    Réponses: 3
    Dernier message: 30/06/2011, 11h28
  3. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 10h42
  4. Copying to tmp table > Manque de ram ?
    Par compu dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/03/2006, 15h20
  5. Adresse des polices de caractères dans la RAM video ?
    Par Anonymous dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 27/05/2002, 17h29

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