Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 2.95 KB

File metadata and controls

58 lines (42 loc) · 2.95 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic helpviewer_keywords monikerRange
Schema Caching (SQLXML)
Learn how to use registry keys to explicitly control schema caching and improve the performance of an XPath query in SQLXML 4.0.
MikeRayMSFT
mikeray
03/04/2017
sql
xml
reference
registry keys [SQLXML]
cache [SQLXML]
schemas [SQLXML]
=azuresqldb-current||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current

Schema Caching (SQLXML 4.0)

[!INCLUDE SQL Server Azure SQL Database] With a side-by-side installation of XML for Microsoft SQL Server 2000 Web Release 1, Microsoft SQLXML 2.0, and SQLXML 3.0, you can explicitly control the schema caching in all versions by using the following registry keys:

Web Release 1:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXMLX\SchemaCacheSize  

SQLXML 2.0:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXML2\SchemaCacheSize  

SQLXML 3.0:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXML3\SchemaCacheSize  

Caution

[!INCLUDEssNoteRegistry]

For more information about side-by-side installation, see What's New in SQLXML 4.0 SP1.

Schema caching significantly improves the performance of an XPath query. When an XPath query is executed against a mapping schema, the schema is stored in memory, and the necessary data structures are built in memory. If schema caching is set, the schema remains in memory, thereby improving performance for subsequent XPath queries.

You can set the schema cache size by adding the above key in the registry

The schema size is set based on the available memory and the number of schemas you are using. The default SchemaCacheSize size is 31. If you set SchemaCacheSize higher, more memory is used. Therefore, you can increase the cache size if schema access seems slow, or decrease the cache size if memory is low.

For performance reasons, it is recommended that you set SchemaCacheSize higher than the number of mapping schemas you usually use. As the number of schemas increase, if SchemaCacheSize is less than the number of schemas you have, the performance degrades.

Note

During development, it is recommended that you do not cache the schemas, because the changes to the schemas are not reflected in the cache for about two minutes.

See Also

Template Caching (SQLXML 4.0)
XSL Caching (SQLXML 4.0)