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

Administration SQL Server Discussion :

Table In memory


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    unix
    Inscrit en
    Septembre 2016
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : unix
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 83
    Points : 58
    Points
    58
    Par défaut Table In memory
    bonjour

    J'ai lu beaucoup d'articles sur la nouvelle fonctionnalité table in-memory qui est apparue avec SQL server 2014.
    Pour cela j'ai pensé à appliquer cette fonctionnalité sur quelque tables.
    En sélectionnant l'option "memory optimisation advisor" j'aurai plusieurs contraintes qui empêchent l'activation de cette fonctionnalité.
    Alors je pose cette question : Quel sont les critères qui empêchent l'activation de cette fonctionnalité sur certaines tables ?
    Une table sans index cluster, la présence d'une contrainte Foreign Key , un table Heap, la présence des colonnes NULL, ...
    merci pour vos aide
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    En 2014 il y a beaucoup de limitations à utiliser les tables In-Memory.

    Pour une idée des limitations tu peux aller voir la documentation Microsoft.

    Par ailleurs cette fonctionnalité bien qu'intéressante n'est vraiment utile que dans certains cas. Dans quelle mesure penses-tu que cette fonctionnalité puisse t'aider?

    ++

  3. #3
    Membre du Club
    Homme Profil pro
    unix
    Inscrit en
    Septembre 2016
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : unix
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    J'ai besoin de cette fonctionnalité pour améliorer la performance d'une base OLTP de production qui est très sollicitée.
    J'ai lu un article qui dit que les transactions pour une table qui réside en mémoire s’exécutent plus rapidement, même les procédures stockées seront plus rapides.
    Mais franchement dit que j'étais surpris par toutes ces limitations https://msdn.microsoft.com/en-us/lib...=sql.120).aspx
    Ce qui m’inquiète : ces deux restrictions :

    * FOREIGN KEY constraints are not supported for memory-optimized tables. Remove the constraint from the table definition

    * CHECK constraints are not supported for memory-optimized tables. Remove the constraint from the table definition

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    j'ai besoin de cette fonctionnalité pour améliorer la performance d'une base OLTP du production qui est très solliciter
    Ok. Donne nous un feedback si tu as le temps si tu observes un gain évident.


    ce qui m’inquiète ces deux restrictions :
    * FOREIGN KEY constraints are not supported for memory-optimized tables. Remove the constraint from the table definition
    * CHECK constraints are not supported for memory-optimized tables. Remove the constraint from the table definition
    Oui et cela est résolu avec la version 2016 de SQL Server si jamais.

    ++

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    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 770
    Points : 52 723
    Points
    52 723
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par cristophe0071983 Voir le message
    j'ai besoin de cette fonctionnalité pour améliorer la performance d'une base OLTP du production qui est très solliciter
    j'ai lue un article qui dit que les transactions pour un table qui réside en mémoire s’exécute plus rapide méme les procédure stocké seront plus rapide
    mais franchement dit j'était surpris par tout ces limitations https://msdn.microsoft.com/en-us/lib...=sql.120).aspx
    ce qui m’inquiète ces deux restrictions :

    * FOREIGN KEY constraints are not supported for memory-optimized tables. Remove the constraint from the table definition

    * CHECK constraints are not supported for memory-optimized tables. Remove the constraint from the table definition

    Il y a bien plus contraignant en version 2014 : la collation de la table doit être exclusivement binaire !

    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/ * * * * *

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    En outre, ce n'est pas parce que les performances d'une base de données sont mauvaises que l'on peut se contenter de migrer simplement toute la base de données de tables "sur disque" à des tables optimisées en mémoire. Comme l'ont écrit Mikedavem et SQLPro, il y a de nombreuses contraintes d'implémentation. Sans cela, toutes les entreprises auraient déjà migré

    Donc avant de partir dans ce chantier là, il vaut mieux auditer votre base de données, caractériser la charge de travail, et optimiser les requêtes contre-performantes.
    Ceci peut passer par de la réécriture de code, un chantier d'indexation, des changements de structure de tables, ...

    @++

Discussions similaires

  1. Optimisation requête avec une table Memory
    Par ahmed. dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2012, 15h49
  2. Taille maximum des tables memory
    Par stos dans le forum Administration
    Réponses: 3
    Dernier message: 01/03/2012, 13h35
  3. Composant memory table
    Par louay02 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 30/04/2011, 11h59
  4. MEMORY TABLE - FORCE INDEX qui ne force pas !
    Par KingOfIce dans le forum Requêtes
    Réponses: 0
    Dernier message: 20/04/2011, 16h38
  5. limite des tables Memory ?
    Par kedare dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 22/09/2006, 09h43

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