<?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>ITSA Blog &#187; gotchas</title>
	<atom:link href="http://itsecureadmin.com/tag/gotchas/feed/" rel="self" type="application/rss+xml" />
	<link>http://itsecureadmin.com</link>
	<description>Life as an Open Source Solutions Architect</description>
	<lastBuildDate>Wed, 09 May 2012 16:50:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL:  MyISAM Table Gotchas!</title>
		<link>http://itsecureadmin.com/2008/07/mysql-myisam-table-gotchas/</link>
		<comments>http://itsecureadmin.com/2008/07/mysql-myisam-table-gotchas/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 21:11:53 +0000</pubDate>
		<dc:creator>Josh Miller, RHCE</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[gotchas]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/blog/?p=12</guid>
		<description><![CDATA[I&#8217;ve recently had to learn a lot about MySQL and how to manage it effectively, especially after it has not been managed very well for a long time.  As a Linux Administrator I&#8217;ve had the opportunity to use MySQL in many roles over the years but never at an enterprise level.  I&#8217;m still [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently had to learn a lot about MySQL and how to manage it effectively, especially after it has not been managed very well for a long time.  As a Linux Administrator I&#8217;ve had the opportunity to use MySQL in many roles over the years but never at an enterprise level.  I&#8217;m still learning and trying things out, but so far here are some guidelines:</p>
<ul>
<li>MyISAM is a very fast engine, do not delete rows without performing an optimize directly afterward to prevent holes, fragmentation, and subsequent table locking as the holes are filled while fragmenting the tables &#8212; create a data maintenance plan and don&#8217;t delete data without cause and use batches.</li>
<li>Running an optimize on a large MyISAM table might take a day or two.</li>
<li>MyISAM will lock the table on inserts if there are holes from data removal when an optimize has not been performed to remove the holes.</li>
<li>InnoDB consumes a significant amount of space compared to MyISAM, a general guideline might be 5x as much.</li>
</ul>
<p>If you find that after deleting data from a table you have performance issues, look at running optimize on your MyISAM tables and check for locks using &#8217;show processlist&#8217;.</p>
<p>I don&#8217;t know if converting to InnoDB will help in situations with large data sets where table maintenance is not performed regularly, but time will tell.  I am skeptical that the performance on an InnoDB table will be there with large data sets as well.</p>
<p>I find that as an open source advocate, without knowing these things, it&#8217;s very difficult to make an argument for open source solutions when there are SQL Server advocates around calling the architecture shots.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2008/07/mysql-myisam-table-gotchas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

