May 8, 2012 at 9:01 am
Jeff Moden (5/8/2012)
I've worked with a couple of supposedly "hot" front end developers lately and they designed tables like the one I cited. When I asked them "Why?", their answer was "Premature optimization is the root of all evil." It was all I could do to keep from throwing them out the window right then and there.
Then they're idiots who don't know the meaning of the phrase. Good solid design is not premature optimisation. "Foreign keys are slow, so we're enforcing integrity in the app" is a form of premature optimisation.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
May 8, 2012 at 9:06 am
You are correct Jeff I did mean staging tables. Does become a pain when trying to create a multi key index.
Plus i've been databasing since dbase 3+ and SQL 6.5 (i'm 44) and it just gets my goat as it seems lazy. If it will never be more than 8 characters make it 8 characters as when you try and explain it to somebody it doesn't seem stupid. And when you export then data and schema it makes much more sense to a third party.
May 8, 2012 at 9:07 am
Jeff Moden (5/8/2012)
opc.three (5/8/2012)
jasonmorris (5/8/2012)
Has anybody come across the CADIS Enterprise Data Management product?Where I work they always insist that any import tables for third party text data are nvarchar(4000) and there is no RI as that is what is recommended.
Import tables get a pass in this area, usually. CADIS' position on using wide string columns in an import table is not necessarily an indication of a bad design or avoiding premature optimization.
I agree with that if what you mean by "import" tables is the same as what I call "staging" tables.
Yes. I took import table as a synonym to what you call a staging tables...the initial table one would load data into from an external data source.
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato
May 8, 2012 at 4:37 pm
GilaMonster (5/8/2012)
Jeff Moden (5/8/2012)
I've worked with a couple of supposedly "hot" front end developers lately and they designed tables like the one I cited. When I asked them "Why?", their answer was "Premature optimization is the root of all evil." It was all I could do to keep from throwing them out the window right then and there.Then they're idiots who don't know the meaning of the phrase. Good solid design is not premature optimisation. "Foreign keys are slow, so we're enforcing integrity in the app" is a form of premature optimisation.
You took the words right out of my mouth although I used the word "moroff" in place of "idiot". THOSE are the kind of people I've had to deal with on the subject and it's a pleasure to find someone who knows better. Thanks for making my day, Gail.
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 4 posts - 16 through 18 (of 18 total)
You must be logged in to reply to this topic. Login to reply