<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Finding and Fixing Slow MySQL Queries</title>
	<atom:link href="http://parand.com/say/index.php/2009/09/01/finding-and-fixing-slow-mysql-queries/feed/" rel="self" type="application/rss+xml" />
	<link>http://parand.com/say/index.php/2009/09/01/finding-and-fixing-slow-mysql-queries/</link>
	<description>Parand Tony Darugar: A Cruel and Petty Dictator</description>
	<lastBuildDate>Tue, 17 Jan 2012 23:10:42 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kuroki Kaze</title>
		<link>http://parand.com/say/index.php/2009/09/01/finding-and-fixing-slow-mysql-queries/comment-page-1/#comment-270402</link>
		<dc:creator>Kuroki Kaze</dc:creator>
		<pubDate>Wed, 02 Dec 2009 17:23:57 +0000</pubDate>
		<guid isPermaLink="false">http://parand.com/say/?p=819#comment-270402</guid>
		<description>You can also find tables with non-efficient (low cardinality) indexes by running:

&lt;code&gt;SELECT t.TABLE_SCHEMA AS `db`, 
 t.TABLE_NAME AS `table`, 
 s.INDEX_NAME AS `index name`, 
 s.COLUMN_NAME AS `FIELD name`, 
 s.SEQ_IN_INDEX `seq IN index`, 
 s2.max_columns AS `# cols`, 
 s.CARDINALITY AS `card`, 
 t.TABLE_ROWS AS `est rows`,
 ROUND(((s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) * 100), 2) AS `sel %` 
 
 FROM INFORMATION_SCHEMA.STATISTICS s 
    INNER JOIN INFORMATION_SCHEMA.TABLES t ON s.TABLE_SCHEMA = t.TABLE_SCHEMA AND s.TABLE_NAME = t.TABLE_NAME 
    INNER JOIN ( 
     SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(SEQ_IN_INDEX) AS max_columns 
     FROM INFORMATION_SCHEMA.STATISTICS 
     WHERE TABLE_SCHEMA != &#039;mysql&#039; GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME ) AS s2 ON s.TABLE_SCHEMA = s2.TABLE_SCHEMA AND s.TABLE_NAME = s2.TABLE_NAME AND s.INDEX_NAME = s2.INDEX_NAME 
 
 WHERE t.TABLE_SCHEMA != &#039;mysql&#039; /* Filter out the mysql system DB */ 
    AND t.TABLE_ROWS &gt; 10 /* Only tables with some rows */ 
    AND s.CARDINALITY IS NOT NULL /* Need at least one non-NULL value in the field */ 
    AND (s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) &lt; 1.00 /* unique indexes are perfect anyway */ 
 
 ORDER BY `sel %`, s.TABLE_SCHEMA, s.TABLE_NAME /* DESC for best non-unique indexes */ 
 LIMIT 10;&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>You can also find tables with non-efficient (low cardinality) indexes by running:</p>
<p><code>SELECT t.TABLE_SCHEMA AS `db`,<br />
 t.TABLE_NAME AS `table`,<br />
 s.INDEX_NAME AS `index name`,<br />
 s.COLUMN_NAME AS `FIELD name`,<br />
 s.SEQ_IN_INDEX `seq IN index`,<br />
 s2.max_columns AS `# cols`,<br />
 s.CARDINALITY AS `card`,<br />
 t.TABLE_ROWS AS `est rows`,<br />
 ROUND(((s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) * 100), 2) AS `sel %` </p>
<p> FROM INFORMATION_SCHEMA.STATISTICS s<br />
    INNER JOIN INFORMATION_SCHEMA.TABLES t ON s.TABLE_SCHEMA = t.TABLE_SCHEMA AND s.TABLE_NAME = t.TABLE_NAME<br />
    INNER JOIN (<br />
     SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(SEQ_IN_INDEX) AS max_columns<br />
     FROM INFORMATION_SCHEMA.STATISTICS<br />
     WHERE TABLE_SCHEMA != 'mysql' GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME ) AS s2 ON s.TABLE_SCHEMA = s2.TABLE_SCHEMA AND s.TABLE_NAME = s2.TABLE_NAME AND s.INDEX_NAME = s2.INDEX_NAME </p>
<p> WHERE t.TABLE_SCHEMA != 'mysql' /* Filter out the mysql system DB */<br />
    AND t.TABLE_ROWS &gt; 10 /* Only tables with some rows */<br />
    AND s.CARDINALITY IS NOT NULL /* Need at least one non-NULL value in the field */<br />
    AND (s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) &lt; 1.00 /* unique indexes are perfect anyway */ </p>
<p> ORDER BY `sel %`, s.TABLE_SCHEMA, s.TABLE_NAME /* DESC for best non-unique indexes */<br />
 LIMIT 10;</code></p>
]]></content:encoded>
	</item>
</channel>
</rss>

