Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2e9c43658e374d290a2de15d25134ac8 > files > 859

db4o-doc-8.0-1.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="2" MadCap:lastHeight="120" MadCap:lastWidth="624" MadCap:disableMasterStylesheet="true" MadCap:tocPath="Tuning|Runtime Statistics" MadCap:InPreviewMode="false" MadCap:RuntimeFileType="Topic" MadCap:TargetType="WebHelp" MadCap:PathToHelpSystem="../../../" MadCap:HelpSystemFileName="index.xml" MadCap:SearchType="Stem">
    <head><title>Monitoring Queries</title>
        <script type="text/javascript">/* <![CDATA[ */
window.onload = function(){
	var pathToFlash = $('html').attr('MadCap:PathToHelpSystem') + 'Content/Resources/Code/ZeroClipboard.swf';
	ZeroClipboard.setMoviePath(pathToFlash);
			
	function bindToClipBord(element,content){
		var clip = new ZeroClipboard.Client();
		clip.setText(content);
		clip.glue(element);
	};
		
	if(location.protocol==='file:'){
		$('.copylink-marker').remove();
	} else{
			$('.copylink-marker').each(function(){
				var text = $(this).parent().parent().children('.prettyprint').html();
				$(this).hover(function(){
					bindToClipBord(this,text);
				},
				function(){});
			});	
	}		
	prettyPrint();	
};
                /* ]]> */</script>
        <link href="../../SkinSupport/MadCap.css" rel="stylesheet" />
        <link href="../../Resources/Stylesheets/OnlineStyle.css" rel="stylesheet" />
        <script src="../../Resources/Code/prettify.js">
        </script>
        <script src="../../Resources/Code/lang-vb.js">
        </script>
        <script src="../../Resources/Code/jquery.min.js">
        </script>
        <script src="../../Resources/Code/ZeroClipboard.js">
        </script>
        <script src="../../SkinSupport/MadCapAll.js" type="text/javascript">
        </script>
    </head>
    <body>
        <p class="MCWebHelpFramesetLink" style="display: none;"><a href="../../../index_CSH.html#tuning/Runtime_Statistics/monitor_queries.htm" style="">Open topic with navigation</a>
        </p>
        <div class="MCBreadcrumbsBox"><span class="MCBreadcrumbsPrefix">You are here: </span><a class="MCBreadcrumbsLink" href="../../tuning.htm">Tuning</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="../runtime_statistics.htm">Runtime Statistics</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Monitoring Queries</span>
        </div>
        <p>
            <script type="text/javascript">/*<![CDATA[*/document.write('<a href="' + location.href +'">');
				document.write("Direct Link");
			document.write('</a>');/*]]>*/</script>
        </p>
        <p>
        </p>
        <h1>Monitoring Queries</h1>
        <p>You can monitor queries to find out more about the runtime behavior of your application.</p>
        <h2>Configure the Query Monitoring Support</h2>
        <p>First you need to add the monitoring support to the db4o configuration.
		 There are two separate items.
	 The QueryMonitoringSupport will monitor the very basic query operations.
	 The NativeQueryMonitoringSupport adds additional statistics about <span MadCap:conditions="Primary..NET">LINQ and</span> native queries.</p>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">configuration.Common.Add(new QueryMonitoringSupport());
configuration.Common.Add(new NativeQueryMonitoringSupport());</pre>
            <div class="codesnippet-meta">QueryMonitoring.cs: Add query monitoring
			<div class="codedownload"><a href="../../CodeExamples/tuning/monitoring/Example-tuning-monitoring-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">configuration.Common.Add(New QueryMonitoringSupport())
configuration.Common.Add(New NativeQueryMonitoringSupport())</pre>
            <div class="codesnippet-meta">QueryMonitoring.vb: Add query monitoring
			<div class="codedownload"><a href="../../CodeExamples/tuning/monitoring/Example-tuning-monitoring-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <h2>The Query Statistics</h2>
        <p><strong MadCap:conditions="Primary..NET">class index scans/sec</strong>: Tells you the number of queries which required to scan through all objects. This means that a query couldn't use a field index and therefore required to go through all objects. This is of course slow. You should try to keep this number low by adding the right indexes on fields. <a href="../../basics/indexing.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "Indexing"</a></p>
        <p><strong MadCap:conditions="Primary..NET">queries/sec</strong>: Tells you how many queries run per second. </p>
        <h2>The Native Query Statistics</h2>
        <p><strong MadCap:conditions="Primary..NET">native queries/sec</strong>: Tells you how many native queries per second run.</p>
        <p><strong MadCap:conditions="Primary..NET">unoptimized native queries/sec</strong>: Tells you how many unoptimized native queries run per second. Such queries need to instantiate all objects which is a slow operation. If this number is high, you should try to simplify your queries.</p>
        <p MadCap:conditions="Primary..NET"><strong>linq queries/sec</strong>: Tells you how many db4o-LINQ queries run per second.</p>
        <p MadCap:conditions="Primary..NET"><strong>unoptimized linq queries/sec</strong>: Tells you how many unoptimized LINQ run per second . You should avoid unoptimized LINQ-queries, because these queries instantiate allobjects to perform the query and therefore are slow. Try to write a more simple LINQ-query. <a href="../../basics/querying/linq.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "LINQ"</a></p>
        <script type="text/javascript" src="../../SkinSupport/MadCapBodyEnd.js">
        </script>
    </body>
</html>