• Email
  • Like
  • Save
  • Private Content
  • Embed
 

Sql Antipatterns Strike Back

by

  • 71,950 views

Common blunders of SQL database design, queries, and software development. Presented as a tutorial at the MySQL Conference & Expo 2009.

Common blunders of SQL database design, queries, and software development. Presented as a tutorial at the MySQL Conference & Expo 2009.

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

115 Embeds 7,130

http://jdobbie.blogspot.com 1609
http://www.cs.vsb.cz 1329
http://www.it4business.ru 494
http://pwfisher.com 349
http://www.graph-database.org 330
http://www.coderholic.com 311
http://bitnegro.blogspot.com.es 292
http://kupreev.com 229
http://blog.meta.ua 213
http://www.mauromeloni.com.ar 208
http://www.slideshare.net 144
http://moskalyuk.name 138
http://tiniknik.blogspot.com 128
http://www.stetsenko.net 94
http://bitnegro.blogspot.com.ar 69
http://jayant7k.blogspot.com 55
http://jdobbie.blogspot.co.uk 53
http://edit.optimizely.com 51
http://www.kupreev.com 48
http://blog.klaushofeditz.de 47
http://jdobbie.blogspot.de 44
http://lj-toys.com 41
http://www.blinkoftheday.com 40
http://it4business.ru 40
http://www2.cs.vsb.cz 36
http://khishigee.miniih.com 34
http://rubyrailsandwindows.blogspot.com 33
http://www.khishigee.miniih.com 31
http://jdobbie.blogspot.fr 29
http://jdobbie.blogspot.in 29
http://tiniknik.blogspot.ru 28
http://bitnegro.blogspot.com 26
http://jdobbie.blogspot.ru 25
http://85.32.121.170 24
http://jdobbie.blogspot.ca 23
http://l.lj-toys.com 23
http://jdobbie.blogspot.it 21
http://jdobbie.blogspot.nl 20
http://jdobbie.blogspot.sg 20
http://jdobbie.blogspot.cz 19
http://www.pwfisher.com 16
http://confluence.mdtest.info 15
http://jdobbie.blogspot.com.au 14
http://jayantkumar.in 13
http://jdobbie.blogspot.kr 13
https://twitter.com 12
http://bitnegro.blogspot.mx 12
http://jdobbie.blogspot.fi 12
http://software-testing.ru 12
http://bitnegro.blogspot.ru 11
http://jdobbie.blogspot.se 10

More...

Statistics

Likes
170
Downloads
2,295
Comments
26
Embed Views
7,130
Views on SlideShare
64,820
Total Views
71,950

110 of 26 previous next Post a comment

  • billkarwin Karwin Software Solutions LLC at Karwin Software Solutions LLC Thanks @Itay, yes you're right. Clearly, as in any other application, the queries you need to run determine the choice of indexes. 1 month ago
    Are you sure you want to
  • iyahimovitz Itay Yahimovitz, Senior Software Engineer at eBay Very nice article, One thing I noticed you're primary key is on the (ancestor, descendant) You're closure table should also have an index on the 'descendant', if you don't have that index your queries to find the ancestors will be really slow and I believe you said in the presentation that queries to get the ancestors will be fast. 1 month ago
    Are you sure you want to
  • MySQLGeek Justin Swanhart, Senior MySQL Instructor at Percona They will be supported by Shard-Query for MySQL soon though. And then window functions :) 6 months ago
    Are you sure you want to
  • anotherjohndoe anotherjohndoe As far as I can tell, it's more DBMS supporting CTE than not. SQLite and MySQL and Apache Derby do not support them. Teradata, Sybase, NuoDB, Vertica, HSQLD, H2, and Firebird are supporting them. It's definitely mainstream nowadays - and not having them is a major deficiency (just like other modern SQL features like windowing functions, indexes based on expressions, check constraints or deferrable constraints). 7 months ago
    Are you sure you want to
  • billkarwin Karwin Software Solutions LLC at Karwin Software Solutions LLC @anotherjohndoe Recursive CTE's are supported by Oracle, Microsoft, IBM DB2, and PostgreSQL. Perhaps a couple of others. Recursive CTE's are not supported by MySQL, SQLite, and most other databases. 7 months ago
    Are you sure you want to
  • anotherjohndoe anotherjohndoe Slide 77 (Trees): Querying a sub-tree using the adjacency list model is very easy when using recursive queries ('common table expression) which nearly all modern DBMS support nowadays. 7 months ago
    Are you sure you want to
  • toddschoen toddschoen adjacency list is ok if you need to do multi-parented imho, you can go to unlimited depth, it may require lots of joins so could be a performance killer with large datasets (or datasets that cannot be narrowed down before hand) http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html a slightly modified version of listing2 would do the trick 10 months ago
    Are you sure you want to
  • akretschmer akretschmer @md2perpe LOL, yeah, you are right ;-) 10 months ago
    Are you sure you want to
  • md2perpe Per Persson, Developer at Ztorm AB @akretschmer There's a lot of crappy things that's still widely used, because of popularity, lack of alternatives or lack of knowledge about alternatives. Three examples: Internet Explorer, imperial units, and Budweiser beer. 10 months ago
    Are you sure you want to
  • akretschmer akretschmer @md2perpe really? crappy database, isn't it? 10 months ago
    Are you sure you want to

110 of 26 previous next

Post Comment
Edit your comment

Sql Antipatterns Strike Back Sql Antipatterns Strike Back Presentation Transcript