Mike Sherrill 'Cat Recall'

less info
5,267 reputation
823
bio website
location United States
age
visits member for 3 years, 6 months
seen 2 days ago

Database design and software development consultant. My clients included everything from Fortune 100 companies to non-profits and mom-and-pop companies. I've worked with SQL databases since 1985. I'm a database generalist; I'm comfortable with every modern SQL dbms. My home server runs a half-dozen different database management systems. I test most of my answers under more than one of them.

I've developed relational models for implementation in non-SQL environments, like Lotus Notes and plain C++ code.

I also develop software in C, VBA, Python, Ruby, and php. I build web applications using various frameworks and languages, including Ruby on Rails, Laravel, and Phalcon.


Jul
28
comment Large table with historical data allocates too much of SQL Server 2008 Std. memory - performance loss for other databases
What's the range of @b and @c? Is it the same all the time? Does it vary? If it varies, how much?
May
10
comment Read massive flat file into relational database
Are the id numbers already in the text file?
Apr
16
awarded  Nice Answer
Apr
11
comment Postgresql not working: error
What version of PostgreSQL?
Mar
24
awarded  Good Answer
Mar
12
comment Indexes for SQL query with WHERE condition and GROUP BY
What's the range of timestamps? Partitioning might be an option.
Mar
1
awarded  Yearling
Feb
3
answered Source control makes sure my code is never lost, how do I make sure my users/orders database is never lost?
Jan
7
awarded  Popular Question
Sep
30
comment Do natural keys provide higher or lower performance in SQL Server than surrogate integer keys?
"Custom operations like ON UPDATE CASCADE might be ommited, because key values not changing." The effect of surrogate keys is to make every foreign key reference the equivalent of "ON UPDATE CASCADE". The key doesn't change, but the value it represents does.
Sep
28
comment Simple table normalisation
I've written about it here and on SO. Think about a "lookup" table--one column of data and an id number. Now drop the id number, write foreign keys to reference the data, and you avoid a join altogether. With other tables, you avoid a join every time the data you need is in a referenced key. (I was surprised how often this happens.) The tradeoff is between join performance and disk I/O. Prototypes indicated that natural keys would perform better in the test suite (dozens of queries) for decades without improvements in hardware (like SSDs).
Sep
28
comment Simple table normalisation
Have you measured the efficiency? (I have. You'll probably be surprised.)
Sep
28
answered Simple table normalisation
Sep
9
answered Is there any rule of thumb to optimize sql queries like this
Sep
5
comment coercibility and collations
Pasting a minimal version of the stored procedure into your question might be a good idea. Making it minimal might solve the problem, too.
Sep
4
answered How to get the total days per month between two dates?
Aug
13
comment How to create Combination of records (Order does not matter, no repetition allowed) in mySQL tables
"I needed to create a new table (recipe_index) that would show every possible combination of every recipe in recipe_table as a set of 3..." (and 4, and 5, and 6) For all practical purposes, 2.1E13 rows is not possible.
Aug
13
comment How to create Combination of records (Order does not matter, no repetition allowed) in mySQL tables
500 recipes taken 3 at a time is about 20 million combinations. 500 recipes taken 4 at a time is about 2.5 billion. 500 taken 5 at a time is about 255 billion. 500 taken 6 at a time is about 2.1E13. You don't need to do this more efficiently; you need to do something completely different.
Jul
31
answered What is a standard or conventional name for a column representing display order?
Jul
23
comment pgsql slow query on table of 500 million rows
Is the only information you want from the database the total number of rows?