<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server, SQL Server Express, and SqlDataSource Control</title><link>http://forums.asp.net/54.aspx</link><description>All about SQL Server, SQL Server Express, MSDE, and the SqlDataSource control.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3276088.aspx</link><pubDate>Mon, 06 Jul 2009 06:17:14 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3276088</guid><dc:creator>MarwCzech</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3276088.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3276088</wfw:commentRss><description>&lt;p&gt;Hi all,&lt;br /&gt;
thanks for all the useful opinions. I have decided to store the data in a big
table. If I’ll see the performance of the Views is not optimal I’ll try to use 4
tables instead the Views and update them once a day.&lt;/p&gt;
&lt;p&gt;Thanks for help.&lt;/p&gt;
&lt;p&gt;Marw&lt;/p&gt;</description></item><item><title>Re: One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3275230.aspx</link><pubDate>Sun, 05 Jul 2009 09:14:53 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3275230</guid><dc:creator>integrasol</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3275230.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3275230</wfw:commentRss><description>&lt;p&gt;I disagree with splitting into smaller tables, but I certainly agree that a clustered index should be added, if not already, to the tables, preferably the ID columns, and non-clustered indexes for any field that is searchable, because of the number of rows.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3275220.aspx</link><pubDate>Sun, 05 Jul 2009 08:55:03 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3275220</guid><dc:creator>malcolms</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3275220.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3275220</wfw:commentRss><description>&lt;p&gt;It would be a good option to split this table up into smaller tables.&amp;nbsp; That way there&amp;#39;s less data to search through so your performance will increase.&lt;/p&gt;&lt;p&gt;Just make sure you have your clustered and non clustered indexes as without them, you&amp;#39;ll have a heap and CRUD work will be painful.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3275108.aspx</link><pubDate>Sun, 05 Jul 2009 04:55:01 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3275108</guid><dc:creator>Naom</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3275108.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3275108</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;I agree with the previous poster - to me the problem sounds like a single table partitioned by language.&lt;/p&gt;</description></item><item><title>Re: One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3274698.aspx</link><pubDate>Sat, 04 Jul 2009 13:28:25 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274698</guid><dc:creator>integrasol</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274698.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3274698</wfw:commentRss><description>&lt;p&gt;I think this is hard to call, especially without doing any load and performance testing. However, upfront I&amp;#39;d go with the single table solution and an associated&amp;nbsp; language table. I would then establish a baseline and continue to monitor the performance, and if need to be, consider a horizontal partitioning of the rows, potentially based when it was inserted or similar.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>One big table vs. small ones – multi language application, 1 500 000 rows per each language</title><link>http://forums.asp.net/thread/3274461.aspx</link><pubDate>Sat, 04 Jul 2009 08:30:26 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274461</guid><dc:creator>MarwCzech</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274461.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=54&amp;PostID=3274461</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Hi all,&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;I’m trying to do an optimal database design and I’m stuck. In a nutshell what I have and what I’m looking for:&amp;nbsp;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-&lt;span style="white-space:pre;"&gt;	&lt;/span&gt;There is a multi language (4 countries) application&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-&lt;span style="white-space:pre;"&gt;	&lt;/span&gt;For each language I need to store 1 500 000 rows per year&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-&lt;span style="white-space:pre;"&gt;	&lt;/span&gt;The table has only 4 columns and one FK&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-&lt;span style="white-space:pre;"&gt;	&lt;/span&gt;There is a view selecting in the actual country: employee, sum of top 10 salaries, count of work shift in a month&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-&lt;span style="white-space:pre;"&gt;	&lt;/span&gt;Insert into DB is 1 a day, selecting from the view is 1000 a day&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;The question:&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Shall I store data in one big table with 4 500 000 rows per year and select with language condition (Sample 1) or separate data into 4 small tables (Sample 2)?&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Sample 1:&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;------------------------------------------------------------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Results&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;---------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdResult&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Employee&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Salary&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Import&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;----------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;ImportDate&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Language&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Sample 2:&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;-----------------------------------------------------------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Results_EN&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;----------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdResult&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Employee&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Salary&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Import_EN&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;----------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;ImportDate&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Results_DE&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;----------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdResult&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Employee&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Salary&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;T_Import_DE&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;----------------&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;IdImport&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;ImportDate&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Thanks a lot!&lt;/div&gt;
&lt;div style="position:absolute;left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden;" id="_mcePaste"&gt;Marw&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;p&gt;Hi all,&lt;/p&gt;&lt;p&gt;I’m trying to do an optimal database design and I’m stuck. In a nutshell what I have and what I’m looking for:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;There is a multi language (4 countries) application.&lt;/li&gt;&lt;li&gt;For each language I need to store 1 500 000 rows per year.&lt;/li&gt;&lt;li&gt;The table has only 4 columns and one FK.&lt;/li&gt;&lt;li&gt;There are 4 views selecting from the countries: employee, sum of top 10 salaries, count of work shift in a month.&lt;/li&gt;&lt;li&gt;Insert into DB is 1 a day, selecting from the view is 1000 a day.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;The question:&lt;/b&gt;&lt;br /&gt;Shall I store data in one big table with 4 500 000 rows per year and make the views with language condition (Sample 1) or separate data into 4 small tables (Sample 2)?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Sample 1:&lt;br /&gt;----------------------------------------&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;T_Results&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;IdResult&lt;br /&gt;IdImport&lt;br /&gt;Employee&lt;br /&gt;Salary&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight:bold;"&gt;T_Import&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;IdImport&lt;br /&gt;ImportDate&lt;br /&gt;Language&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight:bold;"&gt;Sample 2:&lt;br /&gt;----------------------------------------&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;p&gt;&lt;b&gt;T_Results_EN&lt;/b&gt;&lt;br /&gt;IdResult&lt;br /&gt;IdImport&lt;br /&gt;Employee&lt;br /&gt;Salary&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight:bold;"&gt;T_Import_EN&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;IdImport&lt;br /&gt;ImportDate&lt;br /&gt;Language&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight:bold;"&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;&lt;p&gt;&lt;b&gt;T_Results_DE&lt;/b&gt;&lt;br /&gt;IdResult&lt;br /&gt;IdImport&lt;br /&gt;Employee&lt;br /&gt;Salary&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight:bold;"&gt;T_Import_DE&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;IdImport&lt;br /&gt;ImportDate&lt;br /&gt;Language&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks a lot!&lt;br /&gt;Marw&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description></item></channel></rss>