YOUR FEEDBACK
JavaOne 2008: Chris Keene's Prescription for Curing the Java Flu
Pablo wrote: It would be nice if Grandma could fix the plumbing in your ho...
SYS-CON.TV

2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts

MXDJ TOP LINKS YOU MUST CLICK ON !


So You Think You Know SQL?
Developers cannot be experts in every language or technology

Digg This!

Andy Powell's Blog

I was reading an old post by a buddy of mine about bad SQL being the cause of a lot of application problems and decided to weigh in my two cents.

A lot of developers get forced into writing SQL as part of their jobs. Should they be doing it? I don't think so. It's not necessarily the best of ideas, and in MOST cases should probably be avoided at all costs.

Besides, developers cannot be experts in every language or technology right? Something has got to give somewhere. It's usually their SQL skills that suffer. Developers are, sometimes, forced into situations where they have no choice but to write their own SQL. There is either no DBA, a DBA who isn't interested in helping developers with their queries, or a DBA who isn't even in the development loop (never a good sign). In these cases, developers may have to write their own SQL.

Sometimes developers have to know their limitations when it comes to writing queries, especially complex queries. I don't think a lot of developers do truly know their skill limitations. Yet, these intrepid souls will trudge on thinking they can write SQL just fine. When, in reality, they really and truly do not know the little tricks and tweaks that can make the SQL perform better.

I've seen it a thousand times. It's not an indictment of the developer, just a limitation of their skills that needs to be recognized.

Don't lose hope though, there are ways to combat this and make your SQL as good as it should be, or as good as it can be. What are these answers, then? Personally, I opt for something like Hibernate (Java) or Transfer (ColdFusion) to abstract my SQL for me. What does this mean? It means that my queries will be optimized and I can spend my time focused on developing the business logic rather than spending that time mired in persistence.

It also gives me the agility of being (most of the time) database agnostic. This lets us easily develop in one database locally, and port the same code to the server on a different database with minimal configuration changes. If ORMs are not an option for you and you have access to a good DBA, engage them. Talk to them and mine them for all the information they're worth. It's their job to know the database you're using and how to optimize queries. Make them earn their money by at least helping you write your queries, if not transferring the database functionality to them altogether (good luck).

None of these two options are viable? Well maybe you'll have to engage an outside consultancy to help you with your persistence layer optimizations, or pursue another path for optimizing your queries that has not been mentioned here. The bottom line is this: If you optimize your persistence today, then you'll have to spend less time dealing with it later when it causes you problems tomorrow. You may be able to write SQL, you may be able to do complex joins and create some wicked stored procedures, but are you a SQL expert? If so, then never mind this post. If not, then don't be afraid to swallow your pride and ask for help.

About Andrew Powell
Andrew Powell has been architecting and developing Web applications for over 10 years using ColdFusion, Java, ASP.NET and ASP. His background includes experience running IT Departments for firms in the executive search and aviation consulting fields. You can read his blog on everything ColdFusion, Java, Spry, & Flex at www.infoaccelerator.net.

Tony wrote: I spent 6 years at Oracle and did a fair amount of performance tuning. In general, it is not the DBA's job to tune SQL for the applications. Most DBA's have only a vague understanding of those issues. Their job is generally to keep the database running reliably. Also, relying on a package such as hibernate to do your tuning only proves that your SQL will remain untuned. Tuning involves examining the use pattern for the application, examining the storage pattern for the underlying database, and choosing among SQL statements based on the patterns of data access you discover. There is a reason why Database experts are well paid.
read & respond »
open honest wrote: The one thing you have to remember is that open source leads to new things and concepts. Just ask Astrum Inc. http://www.astruminc.com what astrum did was to develop the first SUSE based Solution Stack using Novell technology. What they produced and what the independent testing reported was a beast of an appliance and Astrum published the reports on it's website was the first ever Identity based encryption system that can target users who have access to critical data or compliant data and harden policies that are compliance mandated. Lock them down in the appliance and integrate nCipher HSM Encryption Card into eDirectory then developed a key management system that never exposes any part of the key. Now according to nCipher as told to me at RSA this makes the Astrum solution the only solution to me...
read & respond »
Open Honesty wrote: The one thing you have to remember is that open source leads to new things and concepts. Just ask Astrum Inc. http://www.astruminc.com what astrum did was to develop the first SUSE based Solution Stack using Novell technology. What they produced and what the independent testing reported was a beast of an appliance and Astrum published the reports on it's website was the first ever Identity based encryption system that can target users who have access to critical data or compliant data and harden policies that are compliance mandated and lock them down in the appliance and integrate a eDirectory based HSM encryption card and develop a key management system that never exposes any part of the key. Hence this makes it the only solution to meet the up coming FIPS 3 compliance changes and make this appl...
read & respond »
INTERNET TV LATEST STORIES . . .
JavaOne Archives - Dvorak Comments on AMD Intel Lawsuit on SYS-CON.TV
Conference in San Francisco. Dvorak held forth on a number of topics, including the new AMD/Intel lawsuit, the viability of Java and Sun, the value of (or lack thereof) of corporate PR, and whether or not a new book about Silicon Valley is really worth reading.
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and our members are very talented. We truly look forward to their RIAs submittals and Skyway Builder extensions and are excited that all of the contributions will benefit the entire Skyway
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Steve Weitzner Named Chairman and CEO of Ziff Davis Enterprise
Weitzner brings 30 years of publishing experience to ZDE, starting in editorial at Hearst Business Communications and moving over to the business side at CMP Media. As CMP Media COO and CEO, he transformed the company from a print-centric publisher focused on multiple markets to a tech
Are Social Networks Just Another MMO Grind?
You remember back in the early days of video games when there wasn't enough capacity on the carts themselves to support 30 hours of gameplay? What was the solution to keep you playing? They made the games unbelievably freaking difficult. Try playing Kid Icarus now after having played a
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

MOST READ THIS WEEK
So You Think You Know SQL?
ADS BY GOOGLE