<?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>
	Comentarios en: Is MySQL a toy RDBMS?	</title>
	<atom:link href="https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/</link>
	<description>Todos los días se aprende algo viejo</description>
	<lastBuildDate>Thu, 02 Apr 2015 11:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		Por: fuck america		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-131941</link>

		<dc:creator><![CDATA[fuck america]]></dc:creator>
		<pubDate>Thu, 02 Apr 2015 11:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-131941</guid>

					<description><![CDATA[The dictionary definition of monogamy is: married to 
only one woman. The constant attention and attendant quasi-celebrity feed and sustain their grandiose 
fantasies and inflated self-image. All right maybe I&#039;m using too 
a lot credit history here, but most of us 
figured we&#039;d enable you to just about all out.]]></description>
			<content:encoded><![CDATA[<p>The dictionary definition of monogamy is: married to<br />
only one woman. The constant attention and attendant quasi-celebrity feed and sustain their grandiose<br />
fantasies and inflated self-image. All right maybe I&#8217;m using too<br />
a lot credit history here, but most of us<br />
figured we&#8217;d enable you to just about all out.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: some guy		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1915</link>

		<dc:creator><![CDATA[some guy]]></dc:creator>
		<pubDate>Sat, 02 Mar 2013 01:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1915</guid>

					<description><![CDATA[Well,  the op example is just one of many issues that mysql has.   Its optimizer is in fact a TOY.   For many reasons.   Here is a good example.

Views with group bys arent optimized.   The results from the entire view are executed and stored as a temp table before doing any joins.  This also applies to derived tables.

Example: 
select 1 from smalltable a, ( select * from bigtable b ) where a.id=b.a_id;

If bigtable has a billion rows in it and smalltable has 1 row in it,   The entire result from big table must be put into a temp table before it performs the join. 

I dont know of any modern rdbms besides mysql that has this issue.   All it tells me is that mysql ( as a company,  im not blaming just the developers ) didnt take the time or the effort ( or maybe they simply just didnt know how ) to write a real optimizer.

Another example of just piss poor lazyness.

insert into table a ( someintcolumn ) values (&#039;&#039;);

This succeeds in mysql and puts a 0 in someintcolumn.   Encouraging all the crappy php code to work and making it very difficult to port to any other rdbms.  Im not sure if this is just a philosophical thing or a bug.   And I dont care.   It encourages bugs.   I bet half the time php developers dont even realize they have bugs because of things like that.   A date with a value of 0000-00-00?   Give me a break.]]></description>
			<content:encoded><![CDATA[<p>Well,  the op example is just one of many issues that mysql has.   Its optimizer is in fact a TOY.   For many reasons.   Here is a good example.</p>
<p>Views with group bys arent optimized.   The results from the entire view are executed and stored as a temp table before doing any joins.  This also applies to derived tables.</p>
<p>Example:<br />
select 1 from smalltable a, ( select * from bigtable b ) where a.id=b.a_id;</p>
<p>If bigtable has a billion rows in it and smalltable has 1 row in it,   The entire result from big table must be put into a temp table before it performs the join. </p>
<p>I dont know of any modern rdbms besides mysql that has this issue.   All it tells me is that mysql ( as a company,  im not blaming just the developers ) didnt take the time or the effort ( or maybe they simply just didnt know how ) to write a real optimizer.</p>
<p>Another example of just piss poor lazyness.</p>
<p>insert into table a ( someintcolumn ) values (»);</p>
<p>This succeeds in mysql and puts a 0 in someintcolumn.   Encouraging all the crappy php code to work and making it very difficult to port to any other rdbms.  Im not sure if this is just a philosophical thing or a bug.   And I dont care.   It encourages bugs.   I bet half the time php developers dont even realize they have bugs because of things like that.   A date with a value of 0000-00-00?   Give me a break.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: wholesale slippers		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1914</link>

		<dc:creator><![CDATA[wholesale slippers]]></dc:creator>
		<pubDate>Wed, 28 Apr 2010 10:16:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1914</guid>

					<description><![CDATA[I searched for something completely different, but found your website! And have to say thanks. Nice read. Will come back.]]></description>
			<content:encoded><![CDATA[<p>I searched for something completely different, but found your website! And have to say thanks. Nice read. Will come back.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Jeff		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1913</link>

		<dc:creator><![CDATA[Jeff]]></dc:creator>
		<pubDate>Sun, 07 Mar 2010 01:49:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1913</guid>

					<description><![CDATA[Thank you for these comments.  I was having the same problem.  I have only a few thousand records and it blows chunks even with an index.  It seems to not be fetching in the background and returning the first row immediately, like Oracle does when it uses nested loops.

For users who just want to feel like the database is responsive, the first page needs to come back fast, as well as paginate quickly on through.  Its counterintuitive for it to be otherwise.  The first page of an encyclopedia is just as accessible as the first page of a baby book.]]></description>
			<content:encoded><![CDATA[<p>Thank you for these comments.  I was having the same problem.  I have only a few thousand records and it blows chunks even with an index.  It seems to not be fetching in the background and returning the first row immediately, like Oracle does when it uses nested loops.</p>
<p>For users who just want to feel like the database is responsive, the first page needs to come back fast, as well as paginate quickly on through.  Its counterintuitive for it to be otherwise.  The first page of an encyclopedia is just as accessible as the first page of a baby book.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: flony		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1912</link>

		<dc:creator><![CDATA[flony]]></dc:creator>
		<pubDate>Thu, 29 Oct 2009 21:06:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1912</guid>

					<description><![CDATA[I put my itune info in iphone but I want to remove it. I am afraid if someone just download any expensive application or songs. I want to put itune info only when I want.



________________
 &lt;a href=&quot;http://www.youtube.com/watch?v=UAnGCJQnPoo&quot; rel=&quot;nofollow&quot;&gt;unlock iphone&lt;/a&gt;]]></description>
			<content:encoded><![CDATA[<p>I put my itune info in iphone but I want to remove it. I am afraid if someone just download any expensive application or songs. I want to put itune info only when I want.</p>
<p>________________<br />
 <a href="http://www.youtube.com/watch?v=UAnGCJQnPoo" rel="nofollow">unlock iphone</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Wave2.org &#187; Blog Archive &#187; PostgreSQL - Rock Solid in the face of forking MySQL		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1911</link>

		<dc:creator><![CDATA[Wave2.org &#187; Blog Archive &#187; PostgreSQL - Rock Solid in the face of forking MySQL]]></dc:creator>
		<pubDate>Wed, 03 Jun 2009 21:42:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1911</guid>

					<description><![CDATA[[...] in mass adoption over time, which in turn forced the once web bound database to evolve into a near fully fledged enterprise [...]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] in mass adoption over time, which in turn forced the once web bound database to evolve into a near fully fledged enterprise [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Mark		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1910</link>

		<dc:creator><![CDATA[Mark]]></dc:creator>
		<pubDate>Tue, 14 Apr 2009 19:44:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1910</guid>

					<description><![CDATA[Hi,
I don&#039;t know if I&#039;ll be able to link here, but Shlomi Noach goes into some detail on this issue - and in his case he&#039;s using a WHERE clause to restrict the number of rows, yet the optimizer isn&#039;t using the index as the ORDER BY clause invokes the primary key. So it&#039;s not just the &quot;select *&quot; part which is causing problems.

http://code.openark.org/blog/mysql/7-ways-to-convince-mysql-to-use-the-right-index

Once you&#039;re aware of this as a developer or administrator, you can take relevant action. I&#039;m still happy to use Mysql on my sites; well until most hosts provide PostgreSQL. Having used both Oracle and SQL*Server in the past, I&#039;m well aware that there are gotchas and glitches with all of them. Well, ok, too many on Mysql, but with luck that&#039;ll provide interesting subjects for my blog.

Saludos desde Inglaterra

DBMark]]></description>
			<content:encoded><![CDATA[<p>Hi,<br />
I don&#8217;t know if I&#8217;ll be able to link here, but Shlomi Noach goes into some detail on this issue &#8211; and in his case he&#8217;s using a WHERE clause to restrict the number of rows, yet the optimizer isn&#8217;t using the index as the ORDER BY clause invokes the primary key. So it&#8217;s not just the «select *» part which is causing problems.</p>
<p><a href="http://code.openark.org/blog/mysql/7-ways-to-convince-mysql-to-use-the-right-index" rel="nofollow ugc">http://code.openark.org/blog/mysql/7-ways-to-convince-mysql-to-use-the-right-index</a></p>
<p>Once you&#8217;re aware of this as a developer or administrator, you can take relevant action. I&#8217;m still happy to use Mysql on my sites; well until most hosts provide PostgreSQL. Having used both Oracle and SQL*Server in the past, I&#8217;m well aware that there are gotchas and glitches with all of them. Well, ok, too many on Mysql, but with luck that&#8217;ll provide interesting subjects for my blog.</p>
<p>Saludos desde Inglaterra</p>
<p>DBMark</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: MFR		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1909</link>

		<dc:creator><![CDATA[MFR]]></dc:creator>
		<pubDate>Wed, 31 Dec 2008 23:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1909</guid>

					<description><![CDATA[Actually, retrieving 1 million record query is already a bad practise to begin with.]]></description>
			<content:encoded><![CDATA[<p>Actually, retrieving 1 million record query is already a bad practise to begin with.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Charles		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1908</link>

		<dc:creator><![CDATA[Charles]]></dc:creator>
		<pubDate>Tue, 30 Dec 2008 19:47:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1908</guid>

					<description><![CDATA[No, MySQL isn&#039;t a toy... but it&#039;s not a serious tool either.  It still can be the right tool for the job, just as long as the people using the tool understand the problems they&#039;ll face.

The optimizer is horrid, and the query planner is a joke.  Correlated subqueries, anybody?  The most complex query in my employer&#039;s codebase is only so complex because it&#039;s designed to work around how utterly braindead the MySQL query planner is.  I&#039;ve even encountered times when FORCE INDEX() won&#039;t actually force the use of that index, if the optimizer thinks that using another index will be faster.

Honestly though, if it wasn&#039;t for the out-of-the-box it-just-works replication, I&#039;d have switched to something else ages ago.]]></description>
			<content:encoded><![CDATA[<p>No, MySQL isn&#8217;t a toy&#8230; but it&#8217;s not a serious tool either.  It still can be the right tool for the job, just as long as the people using the tool understand the problems they&#8217;ll face.</p>
<p>The optimizer is horrid, and the query planner is a joke.  Correlated subqueries, anybody?  The most complex query in my employer&#8217;s codebase is only so complex because it&#8217;s designed to work around how utterly braindead the MySQL query planner is.  I&#8217;ve even encountered times when FORCE INDEX() won&#8217;t actually force the use of that index, if the optimizer thinks that using another index will be faster.</p>
<p>Honestly though, if it wasn&#8217;t for the out-of-the-box it-just-works replication, I&#8217;d have switched to something else ages ago.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: sam pho		</title>
		<link>https://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/#comment-1907</link>

		<dc:creator><![CDATA[sam pho]]></dc:creator>
		<pubDate>Tue, 30 Dec 2008 19:46:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=135#comment-1907</guid>

					<description><![CDATA[you&#039;re fired.. go and read the different philosophies of database, and come back and give a write up on something useful like why and what the difference between databases like oracle/postgress and mysql are, and explain why one philosophy differs from the other.  Then come back, then maybe the people you work with can slap you around for being a moron.]]></description>
			<content:encoded><![CDATA[<p>you&#8217;re fired.. go and read the different philosophies of database, and come back and give a write up on something useful like why and what the difference between databases like oracle/postgress and mysql are, and explain why one philosophy differs from the other.  Then come back, then maybe the people you work with can slap you around for being a moron.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
