<?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>Claudio&#039;s Hideout &#187; disastri</title>
	<atom:link href="http://claudio.cicali.name/post/tag/disastri/feed/" rel="self" type="application/rss+xml" />
	<link>http://claudio.cicali.name</link>
	<description>Claudio Cicali web hub</description>
	<lastBuildDate>Sun, 25 Sep 2011 11:29:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Piccoli incubi MySQL</title>
		<link>http://claudio.cicali.name/post/2009/01/piccoli-incubi-mysql/</link>
		<comments>http://claudio.cicali.name/post/2009/01/piccoli-incubi-mysql/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 12:50:05 +0000</pubDate>
		<dc:creator>claudio</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[disastri]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://claudio.cicali.name/?p=262</guid>
		<description><![CDATA[Stamani arrivo in ufficio e mi dicono che il database è &#8220;impazzito&#8221;. Trovo le solite due o tre tabelle crashate, le riparo e il sistema torna a pieno regime; soltanto per fermarsi poco dopo per un altro problema. Una tabella di log che normalmente è tenuta &#8220;a bada&#8221; da uno script di cron è arrivata [...]]]></description>
			<content:encoded><![CDATA[<p>Stamani arrivo in ufficio e mi dicono che il database è &#8220;impazzito&#8221;.</p>
<p>Trovo le solite due o tre tabelle crashate, le riparo e il sistema torna a pieno regime; soltanto per fermarsi poco dopo per un altro problema.</p>
<p>Una tabella di log che normalmente è tenuta &#8220;a bada&#8221; da uno script di cron è arrivata a 14 milioni di righe. Niente di spaventoso, ma so già quello che mi aspetta.</p>
<p>Non la posso troncare, e una DELETE su una tabella del genere è la morte di qualsiasi database [segue aneddoto]. Mi faccio coraggio e lancio dunque la delete dopo aver disabilitato le scritture su quella tabellaccia.</p>
<p><strong>Quarantacinque minuti</strong> dopo, terminata l&#8217;operazione, la tabella conta 5000 righe.</p>
<p>Tutto a posto, dunque? <em>Manco per niente</em>.</p>
<p>Riattivo il sistema e noto che le JOIN con quella tabella continuano a bloccare il sito. Allora mi ricordo che dopo una cancellazione così pesante è sempre bene eseguire anche una ANALYZE TABLE.</p>
<p>15 minuti dopo (su una tabella di 5000 righe?) i problemi persistono. OK, allora facciamo anche una REPAIR TABLE. Altri 15 minuti dopo, finalmente, il sistema è tornato <em>nominal</em>.</p>
<p>Aneddoto: qualche anno fa lavoravo su un database SQL Server. Era un venerdì sera (circa le 18), e non ricordo perché decido di fare un po&#8217; di pulizia su una tabella con diversi milioni di righe (<em>in produzione</em>, che idiota). Dopo un paio d&#8217;ore di esecuzione, decido che la faccenda si sta facendo ridicola e voglio spostare il problema al lunedì. Dunque fermo la DELETE, ma non mi rendo conto che quella DELETE era <strong>sotto transazione</strong>.<strong> </strong>Risultato? Altre tre ore di ROLLBACK, e un venerdì buttato via.</p>
]]></content:encoded>
			<wfw:commentRss>http://claudio.cicali.name/post/2009/01/piccoli-incubi-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

