6
votes

Comment modifient-t-on la taille de la page de SQL Server?

per MSDN ,

dans SQL Server, la taille de la page est de 8 Ko. Cela signifie des bases de données SQL Server avoir 128 pages par mégaoctet.

Comment changeons-nous la taille de la page, par ex. à 4 kb ou 12 kb, etc.

En outre, est-ce dû à une " innate restriction matérielle" que les tailles de page sont choisies pour être 8 kb?

ou est 8 kb simplement un nombre suffisant arbitraire choisi sur la base de l'heuristique pour l'optimisation de la majorité des les cas d'utilisation


1 commentaires

2) - Vous n'êtes pas - c'est un paramètre à codage dur et à l'échelle du système, aucun moyen de le changer


3 Réponses :


5
votes

SQL Server ne permet pas de modifier la taille de la page - il s'agit d'une taille de 8K fixe avec une section de taille / de données de taille fixe.


0 commentaires

2
votes

1) La page de 8kb est un peu d'héritage. Je ne pense pas qu'il y ait une "bonne" raison pour une limitation de taille de page de 8 kb fixe, mais changer cela nécessiterait probablement un investissement important de Microsoft et éventuellement un chemin de mise à niveau difficile pour les clients.

2) ne peut pas être fait. La possibilité de modifier ce serait une très belle fonctionnalité et est peut-être une longue amélioration en retard, mais pas quelque chose que nous sommes susceptibles de voir pendant quelques années au moins.


0 commentaires

23
votes

Réponse courte: vous ne pouvez pas le changer.

Pour la raison de l'efficacité de l'adressage ( TLB ) et efficacité de l'IO (voir lecture de ou écrire dans des fichiers à l'aide d'un schéma de recouvrement de scatter ) La taille de la page de la base de données doit être multiple de la taille de la page du système d'exploitation, qui est entraînée par l'architecture matérielle de la plate-forme. L'architecture X86 a une taille de page 4K (voir la barre latérale sur x86 Article Wiki ou faire référence à la < Un href = "http://www.intel.com/products/processor/manuals/" rel = "NOREFERRER"> Manuels du développeur de logiciels Intel ), les architectures plus récentes offrent de grandes pages et SQL Server les exploite pour des allocations de mémoire , voir SQL Serveur et pages grandes expliquent .

Pour des raisons de la portabilité des fichiers de base de données, le format de fichier sur disque ne peut pas être modifié pour accueillir des pages de CPU modernes plus grandes, il briserait la capacité de lire la base de données sur un plus ancien matériel. Et l'expérience montre que la page de 1 Mo est assez difficile à affecter peu après le démarrage du système d'exploitation, en raison de la fragmentation de la RAM physique (une page de processeur doit mapper sur une page de matériel contiguë). Et une telle page ne va pas bien jouer avec WAL (voir Bélier ).


0 commentaires