<?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: Limiting InnoDB Data Dictionary</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Vadim</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-478852</link>
		<dc:creator>Vadim</dc:creator>
		<pubDate>Mon, 16 Feb 2009 05:38:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-478852</guid>
		<description>2 mysqldba

yes, we will port to XtraDB eventually...</description>
		<content:encoded><![CDATA[<p>2 mysqldba</p>
<p>yes, we will port to XtraDB eventually&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wlad</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-474288</link>
		<dc:creator>wlad</dc:creator>
		<pubDate>Fri, 13 Feb 2009 01:53:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-474288</guid>
		<description>ANSI does not specify that size_t is equal to unsigned long anywhere. Casting pointer or long to int is commonly considered bad. Casting pointer or size_t to long is exactly as bad, given that a platform/compiler can choose LP or LLP (or ILP or SILP) model for 64 bit handling (http://en.wikipedia.org/wiki/64-bit)

In fact, the whole 64 bit support on Windows in compiler and SDK and reference compiler on this platform (MSVC) has been LLP on 64 bit (long is int is 4 bytes, long long  is  size_t is 8 bytes) since they started playing with Itanium prototypes, and that is almost a decade ago.</description>
		<content:encoded><![CDATA[<p>ANSI does not specify that size_t is equal to unsigned long anywhere. Casting pointer or long to int is commonly considered bad. Casting pointer or size_t to long is exactly as bad, given that a platform/compiler can choose LP or LLP (or ILP or SILP) model for 64 bit handling (<a href="http://en.wikipedia.org/wiki/64-bit" rel="nofollow">http://en.wikipedia.org/wiki/64-bit</a>)</p>
<p>In fact, the whole 64 bit support on Windows in compiler and SDK and reference compiler on this platform (MSVC) has been LLP on 64 bit (long is int is 4 bytes, long long  is  size_t is 8 bytes) since they started playing with Itanium prototypes, and that is almost a decade ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yasufumi</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-474243</link>
		<dc:creator>Yasufumi</dc:creator>
		<pubDate>Fri, 13 Feb 2009 01:21:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-474243</guid>
		<description>wlad,

I am conscious of the portability. And I have understood some (ANSI incompatible?) compiler of Windows treat long as 32bit even if in 64bit platforms.

But, I think there are no 64bit Windows users who uses such huge number of tables over 4GB of dictionary cache....

So, it may not so serious restriction, and I have chosen simpleness of patch for now.
In the future, if it becomes serious, we should fix it again.</description>
		<content:encoded><![CDATA[<p>wlad,</p>
<p>I am conscious of the portability. And I have understood some (ANSI incompatible?) compiler of Windows treat long as 32bit even if in 64bit platforms.</p>
<p>But, I think there are no 64bit Windows users who uses such huge number of tables over 4GB of dictionary cache&#8230;.</p>
<p>So, it may not so serious restriction, and I have chosen simpleness of patch for now.<br />
In the future, if it becomes serious, we should fix it again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wlad</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473890</link>
		<dc:creator>wlad</dc:creator>
		<pubDate>Thu, 12 Feb 2009 20:44:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473890</guid>
		<description>Ok, now I see it is ulint *on some places*, but well, it is declared as extern ulong somewhere else..

diff -r 9f28f5888574 sql/ha_innodb.h
--- a/sql/ha_innodb.h	Mon Feb 02 10:23:55 2009 -0800
+++ b/sql/ha_innodb.h	Mon Feb 02 10:27:17 2009 -0800
@@ -234,6 +234,7 @@
 extern ulong srv_thread_concurrency;
 extern ulong srv_commit_concurrency;
 extern ulong srv_flush_log_at_trx_commit;
+extern ulong srv_dict_size_limit;


Still, and the value is limited to ULONG_MAX that is 4GB on Windows 64 bit.</description>
		<content:encoded><![CDATA[<p>Ok, now I see it is ulint *on some places*, but well, it is declared as extern ulong somewhere else..</p>
<p>diff -r 9f28f5888574 sql/ha_innodb.h<br />
&#8212; a/sql/ha_innodb.h	Mon Feb 02 10:23:55 2009 -0800<br />
+++ b/sql/ha_innodb.h	Mon Feb 02 10:27:17 2009 -0800<br />
@@ -234,6 +234,7 @@<br />
 extern ulong srv_thread_concurrency;<br />
 extern ulong srv_commit_concurrency;<br />
 extern ulong srv_flush_log_at_trx_commit;<br />
+extern ulong srv_dict_size_limit;</p>
<p>Still, and the value is limited to ULONG_MAX that is 4GB on Windows 64 bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vadim</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473875</link>
		<dc:creator>Vadim</dc:creator>
		<pubDate>Thu, 12 Feb 2009 20:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473875</guid>
		<description>wlad,

it is actuall

+extern ulint   srv_dict_size_limit;

and is the same as

extern ulint    srv_pool_size;
extern ulint    srv_awe_window_size;
extern ulint    srv_mem_pool_size;

so I would say srv_dict_size_limit is the same for memory allocation as and innodb buffer pool</description>
		<content:encoded><![CDATA[<p>wlad,</p>
<p>it is actuall</p>
<p>+extern ulint   srv_dict_size_limit;</p>
<p>and is the same as</p>
<p>extern ulint    srv_pool_size;<br />
extern ulint    srv_awe_window_size;<br />
extern ulint    srv_mem_pool_size;</p>
<p>so I would say srv_dict_size_limit is the same for memory allocation as and innodb buffer pool</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473809</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 12 Feb 2009 19:11:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473809</guid>
		<description>Venu,

Innodb data dictionary is different.  First you can run with single large tablespace and in this case number of open files can be irrelevant.  Second if you have very many tables (millions) you may have more of them cached in the innodb data dictionary than have file handler associated with it.  Opening/Closing file is relatively fast.  The update of Innodb stats (bunch of random dives) is the real cost here.</description>
		<content:encoded><![CDATA[<p>Venu,</p>
<p>Innodb data dictionary is different.  First you can run with single large tablespace and in this case number of open files can be irrelevant.  Second if you have very many tables (millions) you may have more of them cached in the innodb data dictionary than have file handler associated with it.  Opening/Closing file is relatively fast.  The update of Innodb stats (bunch of random dives) is the real cost here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: venu</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473759</link>
		<dc:creator>venu</dc:creator>
		<pubDate>Thu, 12 Feb 2009 17:57:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473759</guid>
		<description>As innodb_open_files exists as max open handles; it could have been nice if it was controlled by innodb_table_open_cache (same as table_[open_]cache); so that it limits based on table count instead of size</description>
		<content:encoded><![CDATA[<p>As innodb_open_files exists as max open handles; it could have been nice if it was controlled by innodb_table_open_cache (same as table_[open_]cache); so that it limits based on table count instead of size</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wlad</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473727</link>
		<dc:creator>wlad</dc:creator>
		<pubDate>Thu, 12 Feb 2009 16:45:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473727</guid>
		<description>+extern ulong srv_dict_size_limit;

This patch has a problem : innodb_dict_size_limit cannot exceed 4GB on 64 bit Windows. Using variations of long is generally not a good idea - it is the worst datatype when it comes to portability. You need size_t for it or larger (i.e ulonglong).</description>
		<content:encoded><![CDATA[<p>+extern ulong srv_dict_size_limit;</p>
<p>This patch has a problem : innodb_dict_size_limit cannot exceed 4GB on 64 bit Windows. Using variations of long is generally not a good idea &#8211; it is the worst datatype when it comes to portability. You need size_t for it or larger (i.e ulonglong).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vadim</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473158</link>
		<dc:creator>Vadim</dc:creator>
		<pubDate>Thu, 12 Feb 2009 07:36:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473158</guid>
		<description>Shlomi Noach,

We only assign flag &quot;table in use&quot; under table_cache lock, that&#039;s all. All main work is done in InnoDB code. So I do not expect problem with table_cache lock.</description>
		<content:encoded><![CDATA[<p>Shlomi Noach,</p>
<p>We only assign flag &#8220;table in use&#8221; under table_cache lock, that&#8217;s all. All main work is done in InnoDB code. So I do not expect problem with table_cache lock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://mysqldba.blogspot.com/</title>
		<link>http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/comment-page-1/#comment-473103</link>
		<dc:creator>http://mysqldba.blogspot.com/</dc:creator>
		<pubDate>Thu, 12 Feb 2009 07:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=624#comment-473103</guid>
		<description>This patch can certainly come in handy. Will it become apart of XTRADB?</description>
		<content:encoded><![CDATA[<p>This patch can certainly come in handy. Will it become apart of XTRADB?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
