DelphiFAQ Home Search:
General :: Databases
Database installation, programming and administration.


This list is sorted by recent document popularity (not total page views).
New documents will first appear at the bottom.

Featured Article

Compare MS-SQL (2000, 7.0 and 6.5) with Oracle

During the last 10 years I worked as a programmer on a classic client-server project. As database backends we support several versions of Oracle, InterBase (by Borland) and MS-SQL. We started out with MS-SQL 6.5. One of our customers migrated recently to version 7.0, so I have first-hand experience with this database as well. Some of our customers have world-wide (client) installations.


The good about MS-SQL
  • MS-SQL in either version is much easier for the database administrator. All admin activities can be executed by an easy to handle program called "Executive".
    The interface reminds almost to the desktop database access. This easy user-interface also is a risk, as described in the "the bad" section.
  • The SQL dialect of MS-SQL is ANSI-SQL. That means that it follows the ANSI standard. A SQL statement that works in MS-SQL will in 95+% also work in mySQL and InterBase.
    ORACLE on the other side does not follow the ANSI standard in a few cases. Left outer joins are the most prominent example. Little problems with joins on a NULL value require workarounds. What I call it bugs is called features by it's manufacturer ORACLE.
  • Good choice of data types, compatible with other databases (except ORACLE, of course, which does cook it's own soup).
  • If installed properly, MS-SQL comes with a decent speed. There was recently a benchmark compiled between ORACLE 8, ORACLE 8.i, DB2 (by IBM) and MS-SQL in different versions.
    While DB2 was the fastest database server at an exorbitant price per performance, MS-SQL got ranks 2 to 5. Oracle doesn't look good in this test at all. The results can be seen at
  • MS-SQL uses less space than Oracle. Yes, to store the same tables, MS-SQL will use less space on a hard disk. The same applies to the installation itself. MS-SQL looks like a "smaller" product.
  • MS-SQL 7 is a complete new product compared to 6.5 - it drops most limitations of 6.5. (See below)
  • MS-SQL in both versions 6.5 and 7 is very stable. We have experience only very few data problems which caused us to shutdown and restart the server (a process that takes only 5 minutes).

Now the downsides of MS-SQL
  • It looks so easy - too easy maybe. What? Well, the real easy user-interface may make some amateurs (e.g. programmers like me) believe they could administer the database without knowledge of proper sizing of tablespaces and such.
    The result is a MS-SQL installation, that runs unnecessary slow - just because all tables are in the master space or because the temp space is configured to the (too small) default value.
    Although the interface is very slick, it still requires knowledge to get your DB server perform well.
  • Other little quirks with the default values - examples:
  • Sort order
    The default "sort order" is to sort case-insensitive. If you have accepted this and put up your tables etc and at the end notice that this "case-insensitive" is not acceptable... then there is only one way to go... you have to reinstall and start with the very first step again.
    The "Transfer" function which shall transfer data from one SQL server to another one will not work if they have different "sort orders".
  • Sizes
    The default segment sizes suggested by setup are not good either - they are too small. 2 MB for temp data for example.
  • Limitations - this applies to MS-SQL 6.5

    6.5 had limitations e.g. not more than 12 "group by" clauses in a SELECT statement. ORACLE and InterBase don't have this limit, and Microsoft got rid of it in version 7.

    No CREATE OR REPLACE VIEW... that means that if you want to change a view, you'll have to drop it and re-create it. Works fine.
    Unless there is another view that bases on the one you want to change. Then you will swear on MS-SQL.
    Here is one of the very few ORACLE advantages. ORACLE does have the CREATE OR REPLACE syntax.
  • Last but not least.. MS-SQL is only available for MS-Windows. Windows NT/ 2000 as far as I know. Theoretically you could run it from a Win98 machine, I guess. We never tried that.
    In the past tense, this meant a performance limit.

    A year ago, there was a kind of contest. Larry Ellison, the CEO of Oracle promised Microsoft a prize of $1,000,000 if MS-SQL would be capable to do a certain warehousing task.
    Fact is that to perform this task, you needed computing power that was at that time not possible for Windows PCs. In the test mentioned above, the SQL 2000 installations ran on PCs that had clusters of up to 128 parallel working Pentium III processors. Database tasks can be split up in parallel processes fairly easy, so that it actually makes sense to use such hardware. My point is that at this time, it is still a disadvantage to be limited to one operating system - and worse - one type of hardware, but this argument has lost power.


From a programmer's perspective I recommend MS-SQL over ORACLE, but if you work for a software shop, you're likely to meet ORACLE at some of your clients. ORACLE has a market share of way over 50%.
On their billboards, they Oracle screams:

"98% of the top 50 eCommerce businesses run ORACLE".

Sadly, the best product does not always win, and ORACLE was lucky to be the first kid on the block

Generated 20:00:33 on Oct 22, 2020