<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TSCHITSCHEREENGREEN live &#187; SQL</title>
	<atom:link href="http://www.tschitschereengreen.com/blog/index.php/category/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tschitschereengreen.com/blog</link>
	<description>Tschitschereengreen - the yoosic coding division</description>
	<lastBuildDate>Fri, 28 Jan 2011 19:02:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>MySQL Performance &#8211; creating a virtual ramdisk for your temporary tables</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-creating-a-virtual-ramdisk-for-your-temporary-tables/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-creating-a-virtual-ramdisk-for-your-temporary-tables/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 06:35:26 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/2007/09/24/mysql-performance-creating-a-virtual-ramdisk-for-your-temporary-tables/</guid>
		<description><![CDATA[1) edit /etc/fstab and insert none /mnt/ramdisk tmpfs size=1g 0 0 2) Mount drive mount /mnt/ramdisk 3) configure /etc/my.cnf tmpdir = /mnt/ramdisk]]></description>
			<content:encoded><![CDATA[<p>1) edit /etc/fstab and insert</p>
<p><code>none        /mnt/ramdisk        tmpfs   size=1g         0       0</code></p>
<p>2) Mount drive</p>
<p><code>mount /mnt/ramdisk</code></p>
<p>3) configure /etc/my.cnf</p>
<p><code>tmpdir          = /mnt/ramdisk</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-creating-a-virtual-ramdisk-for-your-temporary-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Performance Tuning &#8211; reducing I/O wait</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-tuning-reducing-io-wait/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-tuning-reducing-io-wait/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 22:04:30 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/2007/09/24/mysql-performance-tuning-reducing-io-wait/</guid>
		<description><![CDATA[If the performance of an existing MySQL based system is critical and someone aims to avoid the I/O bottleneck: the MySQL-Engine uses on disk temporary tables for some operations. Use the explain-syntax to detect the details of your queries which might be generating temporary tables and look for &#8220;Using temporary&#8221;. Once you found them, check [...]]]></description>
			<content:encoded><![CDATA[<p>If the performance of an existing MySQL based system is critical and someone aims to avoid the I/O bottleneck: the <a href="http://dev.mysql.com/doc/refman/5.1/en/internal-temporary-tables.html">MySQL-Engine uses on disk temporary tables</a> for some operations. Use the explain-syntax to detect the details of your queries which might be generating temporary tables and look for &#8220;Using temporary&#8221;.</p>
<p>Once you found them, check if there are BLOB or TEXT fields inside. If this is the case MySQL will create these tables on your hard disk instead of your RAM, thus generating lots of additional IO. So  you know what to do&#8230;</p>
<p>&#8230; either create a virtual disk inside your RAM and have MySQL using this as temporary file system or move your BLOB and TEXT cols to extension tables (tables which extend other tables).</p>
<p>[update] as of MySQL 5.03 you can use &#8220;varchar (55635)&#8221; for your session data inside memory tables.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2007/09/24/mysql-performance-tuning-reducing-io-wait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speeding up Symfony by 400%</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2007/09/14/speeding-up-symfony-by-400/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2007/09/14/speeding-up-symfony-by-400/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 14:58:11 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/2007/09/14/speeding-up-symfony-by-400/</guid>
		<description><![CDATA[If you are running Symfony on a production system and want to speed it up, you are probably willing to do the following: 1) Enable APC To enable the ByteCache &#8211; System called APC just install it using PECL after you intalled apache2-dev and php5-dev pecl install apc. This will cache all your php-files as [...]]]></description>
			<content:encoded><![CDATA[<p>If you are running <a href="http://www.symfony-project.com">Symfony </a>on a production system and want to speed it up, you are probably willing to do the following:</p>
<p><strong>1) Enable <a href="http://pecl.php.net/package/APC">APC</a></strong></p>
<p>To enable the ByteCache &#8211; System called APC just install it using PECL after you intalled apache2-dev and php5-dev</p>
<p><code>pecl install apc</code>.</p>
<p>This will cache all your php-files as precompiled versions thus avoiding Apache to start the PHP-Process again and again and reinterpreting the PHP-Code. Take care that you added the &#8220;extension = apc.so&#8221; line to your php.ini and that you resolve all dependencies for the installed packages.</p>
<p><strong>2. Use <a href="http://www.symfony-project.com/book/1_0/12-Caching">fragment caching</a></strong></p>
<p>If your symfony application is well build, you probably are using lot of components, partials and actions for performing various tasks. If you did this carefully you can enable the Symfony integrated fragment cache for each of this parts defining the lifetime of the cached files. This will help you saving tons of SQL queries and furthermore will provide the Server with plain HTML-code, which is very easy to send to the user. To enable the cache you might go through all your modules, actions and components and define the cache setup for them.</p>
<p>Again, the architecture of your software is very important to profit of fragment caching, eventually your might consider some refactoring, because fragement caching is very very powerfull &#8211; you can save up to 90% of your heaviest DB-queries.</p>
<p>&#8212;-</p>
<p>If you also think about using <a href="http://de.wikipedia.org/wiki/Lighttpd">Lighttpd </a>- read about it carefully. This server is best for static files. Don&#8217;t use it for PHP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2007/09/14/speeding-up-symfony-by-400/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Performance mit Views</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2007/08/30/mysql-performance-mit-views/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2007/08/30/mysql-performance-mit-views/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 12:42:18 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://tschitschereengreen.com/blog/2007/08/30/mysql-performance-mit-views/</guid>
		<description><![CDATA[Ich bin gerade über einen sehr spannenden Blogeintrag bzgl. MySQL Views gestossen. Dieser endet mit den schönen Worten: MySQL has long way to go getting queries with VIEWs properly optimized. Witzig ist, dass wir gerade heute eben dieses Problem zu spüren bekommen haben. Hintergrund war der, dass das von uns verwendete Propel eine bestimmte Query, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin gerade über einen sehr spannenden <a href="http://www.mysqlperformanceblog.com/2007/08/12/mysql-view-as-performance-troublemaker/">Blogeintrag bzgl. MySQL Views</a> gestossen.</p>
<p>Dieser endet mit den schönen Worten:</p>
<blockquote><p>MySQL has long way to go getting queries with VIEWs properly optimized.</p></blockquote>
<p>Witzig ist, dass wir gerade heute eben dieses Problem zu spüren bekommen haben. Hintergrund war der, dass das von uns verwendete Propel eine bestimmte Query, welche wir ausführen wollten, leider nicht darstellen konnten. Und da wir es unbedingt verhindern wollten, dass wir puren SQL Code in die Application schreiben, haben wir uns überlegt eine 4 Tabellen betreffende Query als View zusammenzufassen. Das Ergebnis spiegelt die von Peter dargestellten Probleme.</p>
<p>Die Lösung war relativ einfach. Wir konnten die Query aufsplitten und nur über 2 Tables abfragen. Die gefundenden und erwünschten 5 Suchergebnisse haben wir dann einfach über eine </p>
<p><code> ... IN ()</code></p>
<p>Query aus der DB geholt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2007/08/30/mysql-performance-mit-views/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

