<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/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>Search results matching tags 'SQL Server', 'SQL Azure', and 'Performance Tuning'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=SQL+Server,SQL+Azure,Performance+Tuning&amp;orTags=0</link><description>Search results matching tags 'SQL Server', 'SQL Azure', and 'Performance Tuning'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Performance-Driven Development</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/05/11/performance-driven-development.aspx</link><pubDate>Tue, 11 May 2010 13:36:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:25021</guid><dc:creator>BuckWoody</dc:creator><description>&lt;P&gt;I was &lt;A href="http://blogs.msdn.com/sqlazure/archive/2010/05/10/10009232.aspx" target=_blank&gt;reading a blog yesterday about the evils of SELECT *&lt;/A&gt;. The author pointed out that it's almost always a bad idea to use SELECT * for a query, but in the case of SQL Azure (or any cloud database, for that matter) it's especially bad, since you're paying for each transmission that comes down the line. A very good point indeed.&lt;/P&gt;
&lt;P&gt;This got me to thinking - shouldn't we treat ALL programming that way? In other words, wouldn't it make sense to pretend that we are paying for every chunk of data - a little less for a bit, a lot more for a BLOB or VARCHAR(MAX), that sort of thing? In effect, we really are paying for that. Which led me to the thought of Performance-Driven Development, or the act of programming with the goal of having the fastest code from the very outset. This isn't an original title, since a quick Bing-search shows me a couple of offerings from Forrester and a professional in Israel who already used that title, but the general idea I'm thinking of is assigning a "cost" to each code round-trip, be it network, storage, trip time and other variables, and then rewarding the developers that come up with the fastest code.&lt;/P&gt;
&lt;P&gt;I wonder what kind of throughput and round-trip times you could get if your developers were paid on a scale of how fast the application performed...&lt;/P&gt;</description></item><item><title>Monitoring SQL Azure For Performance</title><link>http://sqlblog.com/blogs/buck_woody/archive/2009/12/22/monitoring-sql-azure-for-performance.aspx</link><pubDate>Tue, 22 Dec 2009 14:33:20 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:20170</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;In SQL Server Azure, there are no Dynamic Management Views (DMVs) or Performance Monitor Objects and Counters that you can access, so you can’t run your standard performance monitoring that way. I suspect that as time goes on, SQL Azure will have some instrumentation, but for the time being, you’ll have to go with a different metric – round trip throughput.&lt;/p&gt;  &lt;p&gt;What I mean by that is you’ll need to measure the start of a transaction and it’s completion. In the end, this is the only metric that matters anyway, but it is helpful to know what to fix – and this metric doesn’t help you with that.&lt;/p&gt;  &lt;p&gt;What’s been working for me is to develop my queries locally using all my tricks and tools, and then post those up to SQL Azure. While it’s not a one-to-one map, it does seem to fit the bill for now. I’ll keep you posted.&lt;/p&gt;</description></item></channel></rss>