Domain: mysql.com
Stories and comments across the archive that link to mysql.com.
Comments · 1,445
-
PostgreSQL
It's premature to speculate on the cause of the outage, but since PostgreSQL was taking responsibility for the system running smoothly, they should also share the blame in the system failing. Is PostgreSQL only fair weather friend that will disappear at the first hint of trouble? If they had gone with MySQL we wouldn't be having this problem!
-
Re:Already exists?
If MySQL doesn't have it's own cache, what's this?
http://www.mysql.com/documentation/mysql/bychapter /manual_Reference.html#Query_Cache
Dipshit. -
Re:This is a threat to the big vendors
Josh, know what you're talking about before you post. MySQL (the company which does the vast majority of development of MySQL) offers a variety of levels of support and consulting, regardless of the number of systems that you admin. For $48,000/year, you get:
- Access to the entire development team 24x7x365, with a guaranteed response within 30 minutes
- Ability to request developers by name
- Just about every issue is supported (from APIs to configuration to OS, kernel, library, and filesystem dependencies to custom compiles, to recovery, to tuning and so on)
Does Oracle match that for the price?
-
Re:MySQL subselects
-
Re:MySQL subselects
-
Re:Why is it so hard to pick an original name?
maybe sakila could have helped them?
-
Knowledge ContainersI've implemented a knowledge container for myself on a web server... so I have a place to easily create "notes" about stuff I need to know and reference.
I chose to use phpwiki with mySQL as the backend.
I know I could have just used text documents in folders, or HTML pages, but using phpwiki is much more convienent - since the editor is built-in... and creating a link to an existing topic is as easy as putting brackets around it's page name and I can access my notes from any machine with a web browser and access to the net.
So, when Englebart talks of "knowledge containers" as a way to deal with the ever more complex world we live in... I immediately thought, wow, I already have one of those... "my notes" on my phpwiki site.
I throw these comments out there, in the hope that perhaps someone else seeking a "knowledge container" of their own might check out phpwiki!
-
Re:future support
There are a few caveats depending on how a particular Access db is set up. He may have to re-structure some tables and re-write portions of the Access front-end to accomplish this. You're right that some people may not experience any problems. See this for a bit more information.
-
If they're using MySQL as a back end...
... the admins could use the FLUSH-LOGS command. -
Dual License
MySQL offers you dual licenses of commercial and GPL. When MS gave away those products under their own dual license those bashers complain, and when MySQL does the same thing no one (but RMS himself) complain about that.
But it's still interesting to know license document itself has no obligatory power on users, but something to publish and attest intent of those who give license, possibly at court. That MS gave them at conference, is implicit licensing. -
Commercial software that works perfectly?
Anyone use any?
In My Experience, I've been finding free software alot like commercial software: alot of it is drek, some of it is ok, and a few apps are excellent (Postnuke, for instance, works very well for a web portal), as does MySQL for a database. O and Apache, is it working ok for you too?
The decision to use is about the same, gently pry the slick brochures from the boss's hands, research reviews, comments on industry forums, opinions of friends, colleagues, etc., and if all checks out install and test. Obviously you probably don't want free software where there are few posts/changes/sourceforge updates in the last year, similarly with commercial software, except with most free stuff it's much easier to tell how many developers are currently working on the project.
Since I very rarely have found even very expensive software that had company support worth a dang, I've gotten used to getting support off of web forums and google searchs, so supporting free OSS software is about the same as supporting most commercial software.
One big difference of course is price, but another huge difference is that when there is a problem/missing feature in OSS, I can write it in or have it written in, and/or if it is a big problem in an OSS with a large user base, I have found that it gets fixed very quickly, esp. where the core code programmers are using their own product. -
Even better
I find this manual and this one more valuable than any book. And it's free too.
-
Re:strangely quiet
on PostgreSQL and MySQL.why should the market forces that apply to MS not apply to Oracle? Build those yachts while the sun shines, Larry!
At a conservative estimate, MySQL is 25 years behind the state of the art. No, I'm not even kidding or trolling, it's a fact - compare the state of relational databases in the late 70s to where MySQL is now. According to the press release, MySQL last week got features like relational integrity, row level locking, transactions and caching that products like Oracle and DB2 have had, quite literally, for decades. MySQL still does not have subqueries, stored procedures, or procedural constraints. And neither Oracle nor DB2 are standing still, they are continually adding new features. Larry has no need to lose any sleep over MySQL. -
Re:Another Microsoft MomentAfter having bought MS Visual Studio C#
.Net, not realising that the "Standard" version doesn't play with non MS databases, I can't wait for the day when my OS/Computer refuses to let me use MySQL via ODBC because the drivers aren't signed/Palladium compatiable. I'll be so happy to be secure and safe from subversive and dangerous open source technolgies.Uh... No. VS.Net only ships with Microsoft data drivers, but there is nothing stopping you from installing mySql server Oracle and any other database that has an ODBC driver (and there's a lot of them so i'm not going to link them all in here!).
-
Money Money Money"The Free Software Foundation has announced [read: created] a 'Corporate Patronage [read: donation] Program' to allow companies to support [do] the work of the FSF. The members [donors] [companies with vested interests] already include IBM, HP, Ada Core Technologies and MySQL. Interested parties should contact Ravi Khanna [a fund raiser sponsored by Ada Core?]
."Its ALL about the Ben Franklins.
-
A barrel of random thoughts...
Redhat seem to have forgotten that many people won't use a *.0 release...now I've got to wait till October to upgrade my 7.3 box
:(
Also, many commerical apps - for instance Franz's Allegro CL, which I use all day - won't support 9.0 for a while (they've just got around to supporting 8.0 this month).
Doing this to be at the same number as Slack??? Why not just switch to a sideways 8 and be done with that lame sort of one-upmanship already?(yeah, you're right - Volkerding would release "Slackware Infinity plus 2" - so then you'd release "Redhat Infinity plus Infinity").
Finally, a note to the RH people reading (bero-RH used to respond to all of my posts here on /. , but you guys kind of terminally pissed him off):
WTF is up with Metacity?
You put a window manager on your distro that doesn't even have a webpage? Many of us loyal RH users had gotten quite used to Sawfish. So used to it, in fact, that I had used GIMP to create many of my own themes.
So I was unpleasantly surprised, upon installing 8.0, to find that you guys had once again skipped a version number. What were you thinking? Didn't you you guys learn anything from the gcc-2.96 fiasco? (read the very bottom of the page). With 8.0 you've done it again - SF's sourceforge site has the most recent version at 1.2, yet somehow something named sawfish-2.0 made it into your distro. I frankly wouldn't care if your "2.0" worked; but whatever genius in NC decided to "upgrade" it forgot to also upgrade the sawfish-themer. The problem is that you also changed your entire font structure, so that SF2 barfed at my TTF bankgothic fonts. And then I had no themer to change it. Editing theme.jl by hand is a pain.
Now don't get me wrong. Metacity is a great WM. The fact that it uses XML is quite cool. And Havoc is a great programmer. But the fact that you switched WM's on us, and switched to essentially a wholly undocumented WM (there are pages now but none at release and really few for the first few months) is unacceptable.
Now I've kind of gone off on a tangent here, but I'm using a simple example to illustrate a very important point: Whomever is making the UI decisions at RH needs to stop it. I submit to you that some software companies do this thing called research - they find out what their users are using, and then make their products acceptable to them. Yeah, I know, I'm one of few people who customizes his own saw themes. So at this point I will also remind you that with 8.0 you took the terminal icon off of the desktop and the menubar and hid it 3 or 4 levels deep in the menu.
And a litany of other things - my point is that each release should have me sighing relaxing sighs of "Oh, this is nice," but instead every April and October I find myself feeling ever more uncomfortable and having to re-learn your entire distro. And don't tell me this is "innovation" - I know progress when I see it, and this isn't it.
On a better note, for the day or two that I did use 8.0, the fonts were beautiful - if you guys can hurry up and create an upgrade that I can live with, I'll love you for it. -
Re:mysql-max 3.23 v. mysql 4.0
What does 4.0 have that msyql-max 3.23 not have? I switched to mysql-max so I could use InnoDB.
What do you think the Changelog is for?
-
Re:The newest features seem to be directed to...
There was another proposed feature that was cryptic to me: it looked like it would provide support for database redundancy. Is this correct?
Do you mean replication? That's been around forever. Check out http://www.mysql.com/doc/en/Replication.html
-
Re:Uh oh
I think the submitter of the article missed this release,
http://www.mysql.com/doc/en/News-4.0.0.html
Which was released Oct 2001. -
Re:sub selects
I believe these are due for the 4.1 series. There's a little note about it here
-
Re:3.2x to 4.0
There's always the documentation
-
VIEWS! I said VIEWS, son!
We need views. While much of my work can be done in MySQL, until there are views I cannot switch completely from SQL Server 2K. Too many PHB's that need features like views to be overcome. Must control fist-of-death!
-
Is it worth the switch?
According to the crash-me comparison page, there's not much differences with the previous stable release. Some current benchmarks would probably be more significant, performance-wise.
-
Simply powerful or powerfully simple?Things like embedded MySQL make MySQL a bag of tricks to use in many environments.
What other features might there be?
- Version 4.0 further increases the speed of MySQL Server in a number of areas, such as bulk INSERTs, searching on packed indexes, creation of FULLTEXT indexes, as well as COUNT(DISTINCT).
- The InnoDB storage engine is now offered as a feature of the standard MySQL server, including full support for transactions and row-level locking.
- Our German, Austrian, and Swiss users will note that we have a new character set, latin1_de, which corrects the German sorting order, placing German umlauts in the same order as German telephone books.
- Features to simplify migration from other database systems to MySQL Server include TRUNCATE TABLE (like in Oracle) and IDENTITY as a synonym for automatically incremented keys (like in Sybase). Many users will also be happy to learn that MySQL Server now supports the UNION statement, a long-awaited standard SQL feature.
- In the process of building features for new users, we have not forgotten requests by the community of loyal users. We have multi-table DELETE and UPDATE statements. By adding support for symbolic linking to MyISAM on the table level (and not just the database level as before), as well as by enabling symlink handling by default on Windows, we hope to show that we take enhancement requests seriously. Functions like SQL_CALC_FOUND_ROWS and FOUND_ROWS() make it possible to know how many rows a query would have returned without a LIMIT clause.
-
Simply powerful or powerfully simple?Things like embedded MySQL make MySQL a bag of tricks to use in many environments.
What other features might there be?
- Version 4.0 further increases the speed of MySQL Server in a number of areas, such as bulk INSERTs, searching on packed indexes, creation of FULLTEXT indexes, as well as COUNT(DISTINCT).
- The InnoDB storage engine is now offered as a feature of the standard MySQL server, including full support for transactions and row-level locking.
- Our German, Austrian, and Swiss users will note that we have a new character set, latin1_de, which corrects the German sorting order, placing German umlauts in the same order as German telephone books.
- Features to simplify migration from other database systems to MySQL Server include TRUNCATE TABLE (like in Oracle) and IDENTITY as a synonym for automatically incremented keys (like in Sybase). Many users will also be happy to learn that MySQL Server now supports the UNION statement, a long-awaited standard SQL feature.
- In the process of building features for new users, we have not forgotten requests by the community of loyal users. We have multi-table DELETE and UPDATE statements. By adding support for symbolic linking to MyISAM on the table level (and not just the database level as before), as well as by enabling symlink handling by default on Windows, we hope to show that we take enhancement requests seriously. Functions like SQL_CALC_FOUND_ROWS and FOUND_ROWS() make it possible to know how many rows a query would have returned without a LIMIT clause.
-
Missing Features? - its getting there...
A variety have posters have complained about missing features. Some are already available - and the poster just stopped following MySQL at v 3.0. v 5.1 will have most of the features you'd expect in a relational database. Another post has already clarified that transaction support is available via Berkeley DB tables.
last I heard, views weren't on the list ...Views will be a 5.1 feature. Check out MySQL Database Server features list for the the current development plan. (Search "upcoming features" to find their release plan.)
At any rate here's my favorite feature. I can open mysql and run a query summarizing all charges (from a 23 Million record table) by financial class for my boss in a certain time frame all in under a minute (query time: '13 rows in set (42.40 sec)'. Time to open mysql command prompt, and launch a query from a file:
-
Re:Replaceing MS Access
Since its access/users/mysql you are talking about I might be able to help.
I am going to assume the clients/users are still using windows. MyODBC can be used to connect to your database. (BTW ODBC = Open DataBase Connectivity.) Then you can use MySQLfront to help create tables, etc in a graphical UI on a MS windows box. This means your office 'power users' wont be too mad they wont have their access wizards. ;)
Now that you can connect to a MySQL DB, and users have gui tools to create tables and select statements, then you can use something like occamboy suggested (Crystal rpts) if you are stuck using VB. OR you might try using a browser as a reporting tool. This works good if cash is limited.
Example: Using php/apache to build the report html, make a table or DIV for each page, setting a strict table/div width, then at the end of pages insert style sheet page breaks. The user then can print directly from the browser. Yes it *will work* with IE if you are still stuck with it. BTW I would recommend setting the permissions different on the reporting tables, so users can't cheese 'em.
Hope this helps. -
Missinfg Features
As long as MySQL doesn't conform to all of ACID, it won't be used by serious players. So all those who use Oracle etc. and need a real RDBMs won't even try to switch. There was a lengthy discussion (or should I say ranting) over this in user comments in the online MySQL manual, but it looks like they removed that. Here's the best link I could find: Manual/ACID.
All those who can live with less, well, IMHO having these features still makes development of sound applications so much easier it pays off having it. PostgreSQL has most of Oracles features, conforms fully to ACID, costs the same or less as MySQL (nothing, compared to MySQL which is virtually useless free without the commercial table handlers), and there are some companies supporting it too.
In my experience an application which does correct error checking and handles faults etc. is not faster in MySQL than in most other DBs, just harder to write. And there are alternatives to PostgreSQL, if you don't like it.
Jürgen Strobel -
Re:If MySQL was just a bit more user-friendly...
umm perhaps you should take a look at the actual support options Here is their features chart I doubt you can find another DB company whose support options include escalation to the CTO when needed. BTW CTO in this case is Monty himself. Pricing for support is here
-
Re:If MySQL was just a bit more user-friendly...
umm perhaps you should take a look at the actual support options Here is their features chart I doubt you can find another DB company whose support options include escalation to the CTO when needed. BTW CTO in this case is Monty himself. Pricing for support is here
-
Re:If MySQL was just a bit more user-friendly...
sure you can get support from mysql
http://www.mysql.com/consulting/index.html
whats that? -
Yes, Microsoft really is known for poor software.Yes, it is a company known for poor software. Its forte is marketing and lobbying, two areas where it is the best. Its market share across the board appears to depend entirely on leveraging the desktop OS monopoly rather than on technical merits. But its packages and its operating systems fall consistently behind, lacking technical merits.
Even as recently as last month, MSIE came in 6 out of 6 in a comparison of web browsers. Opera and Mozilla, among others, have it beat by a long shot in all categories (well, Opera costs, but I get my boss to pay). It's even documented in U.S. Federal Court records that MSIE acheived market share over Netscape by bundling MSIE with new copies of MS-Windows.
Quattro, Lotus 1-2-3 and other spread sheets were faster and more mature. It wasn't until MS-Excel v4 when Microsoft's alternativs started to come up to near the same grade as competitors.
Likewise with small desktop databases. Foxpro, dBase, FileMaker, Reflex, and others were still a length ahead of MS-Access. After all Microsoft is still playing catchup, though they did manage to buy out Foxpro. Oracle9i and IBM's DB2 by far offer the best performance and functionality for high end SQL servers. Postgresql and MySQL have the mid-range covered and would be what Microsoft's SQL server is trying hardest to compete with. The Microsoft SQL server is not up to snuff nor is it secure.
But almost-as-good won't displaced established tools. That's where leveraging and sales pitches comes in.
Early versions MS-Word were a unique exception among Microsoft's products in that they were actually competitive with contemporary products. However, whether MS-Word variants were actually better than WordPerfect, AMI and others is probably more an issue of taste than something objective. It and MS-Windows were used to shoehorn MS-Excel into sites.
-
Re:Not ready for prime time
-
Re:online user comments on
I will agree to an extent...
When I am writing a web-app... I will often go to their sites as a reference... however, I find that the examples are sometimes lacking.
MySQL's site is rather poorly laid out and makes assumptions that you already know all there is to know about MySQL - pretty good reference, poor for learning from.
PHP's website is excellent - again though - not a great learning source... there are user submitted examples - but they aren't moderated or proofread... so are often garbage.
I think I've learned more about PHP/MySQL from books and PHPBuilder than I have from the actual PHP/MySQL sites... -
Re:isn't it cool...
Anything about table inheritance or triggers?
Well, http://www.mysql.com/doc/en/ANSI_diff_Triggers.htm l suggest that triggers will come somewhere in 5.0 probably. Heard nothing about table inheritance, though.
I remember once mysql said they would never implement stored procs or triggers or referential integrity,
I am interested in MySQL since when 3.21.x was current (1997?) and cannot remember such a statement. Surely, once they said, that they have no plans to do so. But that is not the same: don't having it on the list of things to be done is quite different from claiming to never implement it.
Also they often said, that when any of that feature is to come, it may not make existing stuff slower or it will be at least optional (and probably disabled by default).
AFAICT, the facts they created in the meantime do not contradict themselves yet.
it looks like they changed their minds.
OTOH, there would be nothing wrong with changing your mind once every 5 years or so. :-) -
custom programming and freelance in php and mysql
-
Re:MySQL vs PostgreSQL
Got money for the hotbackups? They cost.
??? I'm not sure if I understand your complaint. Online backup is already available and much improved support is coming in 4.0/4.x. See here and here In addition, replication is not a bad way to build some fault tolerance into your system. I'm not claiming that any of these features are perfect or that they fit your exact needs. I'm merely pointing out that they exist.
How about working FKs? I mean if I can drop an entire table that FKs pointing it, not much intergerity is there?
Don't know what to tell you there. I know foreign key support is planned, but I'm handling all my data integrity inside my apps. InnoDB tables are supposed to support foriegn keys, but again, I don't know how complete the support is as I haven't used them...
On a different note, has anyone done a decent set of benchmarks comparing MySQL with transactions to PostgreSQL? That would be nice to see.
Yes, but I don't see any that don't look biased towards MySQL... -
Re:MySQL vs PostgreSQL
Got money for the hotbackups? They cost.
??? I'm not sure if I understand your complaint. Online backup is already available and much improved support is coming in 4.0/4.x. See here and here In addition, replication is not a bad way to build some fault tolerance into your system. I'm not claiming that any of these features are perfect or that they fit your exact needs. I'm merely pointing out that they exist.
How about working FKs? I mean if I can drop an entire table that FKs pointing it, not much intergerity is there?
Don't know what to tell you there. I know foreign key support is planned, but I'm handling all my data integrity inside my apps. InnoDB tables are supposed to support foriegn keys, but again, I don't know how complete the support is as I haven't used them...
On a different note, has anyone done a decent set of benchmarks comparing MySQL with transactions to PostgreSQL? That would be nice to see.
Yes, but I don't see any that don't look biased towards MySQL... -
Re:MySQL vs PostgreSQL
Got money for the hotbackups? They cost.
??? I'm not sure if I understand your complaint. Online backup is already available and much improved support is coming in 4.0/4.x. See here and here In addition, replication is not a bad way to build some fault tolerance into your system. I'm not claiming that any of these features are perfect or that they fit your exact needs. I'm merely pointing out that they exist.
How about working FKs? I mean if I can drop an entire table that FKs pointing it, not much intergerity is there?
Don't know what to tell you there. I know foreign key support is planned, but I'm handling all my data integrity inside my apps. InnoDB tables are supposed to support foriegn keys, but again, I don't know how complete the support is as I haven't used them...
On a different note, has anyone done a decent set of benchmarks comparing MySQL with transactions to PostgreSQL? That would be nice to see.
Yes, but I don't see any that don't look biased towards MySQL... -
Re:MySQL vs PostgreSQL
I assume this is just a troll, but I'll bite. MySQL has supported transactions for quick a while. Please save me some time and do your research...
-
Re:Somebody's going to exploit this...
But just yesterday we started looking into replacing our commercial database engine with MySQL. Lo and behold, for our commercial use, we have to pay for it.
MySQL is licensed under the GPL and it is just as free/open as Emacs or the Linux kernel or any other OSS software. You don't need a commercial MySQL license just because you're using it in a for-profit business. However, if you want to distribute it as part of a non-free application, you can't do that under the GPL so you must apply to the copyright holder for a different license.
What's so bad about that? Sure, it means that MySQL gets to make money from the contributions of others. That's the reward they get, as the copyright holder, for making it available as free software in the first place. But the product, including those contributions, is still available as Free Software to anybody who is willing to play by the rules of the GPL. Mozilla, OpenOffice and quite a few other projects work the same way.
Martin -
Re:Somebody's going to exploit this...But just yesterday we started looking into replacing our commercial database engine with MySQL. Lo and behold, for our commercial use, we have to pay for it.
Look a little bit harder next time. MySQL is available under the GPL, which does not distinguish between commercial and non-commercial use. From the MySQL web site:
MySQL is available for free under the GNU General Public Licence (GPL). Commercial licences are sold to users who prefer not to be restricted by the GPL terms.
Also, prebuilt binaries of the so-called "MySQL Classic" are only available under the commercial license, but if you can't be bothered to build it from source, you must not be very serious about using it.
-
I did this last yearI did something like this last year using amateur radio's Automatic Packet Reporting system. Basically there are thousands of amateur radio operators that broadcast their GPS position. Using software I wrote along with MySQL and Mapserver I was able to create maps that showed real-life traffic flow.
You can see a sample of this type of map and learn a little bit about it at http://aprsworld.net/info/paper2002/giant-map-of-
l a.php-James Jefferson
KB0THN -
Foul indeed...
Let's go down the list:
What the MySQL developers conveniently fail to mention is that if you use transaction-aware table types, performance drops dramatically. Under load with multiple concurrent connections, PostgreSQL is pretty close to the speed of MySQL or faster by default and blows MySQL's doors off when MySQL is transaction safe.
Regarding foreign key constraints, see note regarding transactions. And if you are really concerned about fk speed, you don't have to use them in PostgreSQL either.
Record locks hunh? It may surprise you to know that as a user, you don't need to explicitly tell PostgreSQL to lock tables with your queries. Ever. This a relational design issue. This should be handled by your database architect when they layout the table structure, rules, foreign keys, views, and triggers. You do have someone that designs the table structure ahead of time right? Sure you do. But why don't you have to explicitly lock the tables is PostgreSQL?
Maybe it's because PostgreSQL is smart enough to know when you need them without your help.
Transactions? Aren't those only for banks and e-commerce? Nope. Let's say you want to update all the users in Slashdot to give all of those loyal geeks one extra karma point. So you select on all users, grab their current karma, add one, and update the record. This has two problems: concurrency and completion. What happens if the user is moderated up or down in between the moment that the record is selected and the moment it's updated? Looks like the user has accidentally been given either (a) an extra point or (b) had a point taken away. Also look at what happens if the database goes down while doing the work (someone kicked a cord), who got the extra point and who didn't? Darn. Wish I had transactions...
So you use the transaction-aware MySQL tables. Wow! Performance has sure dropped out and we have to think about implementation details like locks. I sure wish there was a way to avoid stupid programming mistakes like forgetting a lock. Well...you could use just about any other database out there (including PostgreSQL).
As for stored procedures and triggers, you need not talk about features that aren't here *yet*. Version 4 isn't out of beta yet and you're hanging on a possible v5 feature? While we're at it, let's talk about how multi-master replication will appear in PostgreSQL by then. And didn't you hear? Microsoft's IIS will have its security holes patched up in two years too. Vaporware is vaporware. Believe it when you can download it.
------
Now then, on to personal gripes about MySQL above and beyond the ones I have listed above.
Benchmarks: On MySQL's benchmark page comparing PostgreSQL, they complain that no utilities are available for benchmarking but their own. This is not strictly true. No benchmark can be made because the syntax to the different RDBMSs are so dissimilar that none can be made currently without a strong bias. Stored procedure support, for example, would definitely skew results away from MySQL. But that wouldn't be fair for a benchmarking tool since MySQL doesn't support stored procedures. The same is true of triggers, rules, views, and other such "unimportant" features.
Of course MySQL's benchmark shows MySQL in a good light. They use only the feature set of MySQL to perform the benchmark.
They also mention on the page that they've contacted the PostgreSQL developers for tuning information and methods of improving the benchmark tool. I cannot express loudly enough that THIS IS A LIE! The PostgreSQL mailing list has many instances of developers reporting that they (a) never heard about this "contact" until someone pointed out the MySQL page, and (b) they have been ignored when they've tried to submit tuning techniques and other optimizations. Sounds like some people don't want their benchmarks to give the "wrong" results. Heaven forbid!
As it stands now, the benchmark is a year and a half old. MySQL is on its 53rd patch revision and PostgreSQL is two minor version releases later since this benchmark was released. Weren't you saying something about posting stale information? They still have a page complaining about vacuum bugs and the desire for a newer version of PostgreSQL that fixes the problem. ...and a year after the bug was fixed, do we see a benchmark update? Nope.
Feature comparisons: another source of info, it talks about the query speed on mostly read only data. Did someone forget to mention that flat files are even faster for mostly read only data?
It states that since MySQL has more users, it must be better than PostgreSQL. Funny how that logic doesn't seem to work for Windows. They use the same logic with the number of books. It wouldn't surprise me if there were more books on DOS than Linux. Does that make DOS better? Does that say anything about the relative quality of those books? No.
MySQL supports more APIs and languages. This is correct unless you want to count stored procedure languages. Oh wait, MySQL doesn't support stored procedures. (Yet! They'll be there in two or three years or so. ...whatever.)
It then touts MySQL's fine replication facilities. Hello people! How often has slashdot gone down due to database issues? Hardly a poster child for stability or reliability.
According to mysql.com, PostgreSQL doesn't have a unit test/regression test. It makes one wonder if they've even used PostgreSQL.
PostgreSQL is said to be deficient with ODBC. Too bad they couldn't provide any specifics.
I'll relax about the statement that MySQL had more functionality with ALTER TABLE. FYI for readers, that has just changed with PostgreSQL 7.3.
They are correct that PostgreSQL doesn't have MERGE. Instead, they use the SQL92 standard UNION. Does the same thing. And let's not forget about views. What was that!? MySQL has extensive use of non-standard syntax? Any queries you write in MySQL will only have a prayer of working on MySQL? Say it ain't so!
PostgreSQL has had full text search for a while as part of contrib.
I don't even want to start with "MySQL Server is coded from the start to be multi-threaded, while PostgreSQL uses processes." Aside from databases on Windows, this helps whom significantly? A clue folks: Apache HTTPd also uses processes extensively. Pure thread support was only really added for the sake of Windows. This is one of those times where stability and consistency are more important than raw speed. This is your data!
And on and on...
As a final note, I would like everyone to take a trip down memory lane with me and recall that the MySQL dev team didn't see a need for MySQL to have transactions or any other of those "fancy" things at all until a couple of years ago -- when everyone started to realize that MySQL wasn't really twice as fast as PostgreSQL even though MySQL was crippled feature-wise.
The MySQL has so much misleading information (apart from the items that are outright false) on the web site, I wouldn't recommend it to anyone who wants correct information, "current" or otherwise. -
Foul indeed...
Let's go down the list:
What the MySQL developers conveniently fail to mention is that if you use transaction-aware table types, performance drops dramatically. Under load with multiple concurrent connections, PostgreSQL is pretty close to the speed of MySQL or faster by default and blows MySQL's doors off when MySQL is transaction safe.
Regarding foreign key constraints, see note regarding transactions. And if you are really concerned about fk speed, you don't have to use them in PostgreSQL either.
Record locks hunh? It may surprise you to know that as a user, you don't need to explicitly tell PostgreSQL to lock tables with your queries. Ever. This a relational design issue. This should be handled by your database architect when they layout the table structure, rules, foreign keys, views, and triggers. You do have someone that designs the table structure ahead of time right? Sure you do. But why don't you have to explicitly lock the tables is PostgreSQL?
Maybe it's because PostgreSQL is smart enough to know when you need them without your help.
Transactions? Aren't those only for banks and e-commerce? Nope. Let's say you want to update all the users in Slashdot to give all of those loyal geeks one extra karma point. So you select on all users, grab their current karma, add one, and update the record. This has two problems: concurrency and completion. What happens if the user is moderated up or down in between the moment that the record is selected and the moment it's updated? Looks like the user has accidentally been given either (a) an extra point or (b) had a point taken away. Also look at what happens if the database goes down while doing the work (someone kicked a cord), who got the extra point and who didn't? Darn. Wish I had transactions...
So you use the transaction-aware MySQL tables. Wow! Performance has sure dropped out and we have to think about implementation details like locks. I sure wish there was a way to avoid stupid programming mistakes like forgetting a lock. Well...you could use just about any other database out there (including PostgreSQL).
As for stored procedures and triggers, you need not talk about features that aren't here *yet*. Version 4 isn't out of beta yet and you're hanging on a possible v5 feature? While we're at it, let's talk about how multi-master replication will appear in PostgreSQL by then. And didn't you hear? Microsoft's IIS will have its security holes patched up in two years too. Vaporware is vaporware. Believe it when you can download it.
------
Now then, on to personal gripes about MySQL above and beyond the ones I have listed above.
Benchmarks: On MySQL's benchmark page comparing PostgreSQL, they complain that no utilities are available for benchmarking but their own. This is not strictly true. No benchmark can be made because the syntax to the different RDBMSs are so dissimilar that none can be made currently without a strong bias. Stored procedure support, for example, would definitely skew results away from MySQL. But that wouldn't be fair for a benchmarking tool since MySQL doesn't support stored procedures. The same is true of triggers, rules, views, and other such "unimportant" features.
Of course MySQL's benchmark shows MySQL in a good light. They use only the feature set of MySQL to perform the benchmark.
They also mention on the page that they've contacted the PostgreSQL developers for tuning information and methods of improving the benchmark tool. I cannot express loudly enough that THIS IS A LIE! The PostgreSQL mailing list has many instances of developers reporting that they (a) never heard about this "contact" until someone pointed out the MySQL page, and (b) they have been ignored when they've tried to submit tuning techniques and other optimizations. Sounds like some people don't want their benchmarks to give the "wrong" results. Heaven forbid!
As it stands now, the benchmark is a year and a half old. MySQL is on its 53rd patch revision and PostgreSQL is two minor version releases later since this benchmark was released. Weren't you saying something about posting stale information? They still have a page complaining about vacuum bugs and the desire for a newer version of PostgreSQL that fixes the problem. ...and a year after the bug was fixed, do we see a benchmark update? Nope.
Feature comparisons: another source of info, it talks about the query speed on mostly read only data. Did someone forget to mention that flat files are even faster for mostly read only data?
It states that since MySQL has more users, it must be better than PostgreSQL. Funny how that logic doesn't seem to work for Windows. They use the same logic with the number of books. It wouldn't surprise me if there were more books on DOS than Linux. Does that make DOS better? Does that say anything about the relative quality of those books? No.
MySQL supports more APIs and languages. This is correct unless you want to count stored procedure languages. Oh wait, MySQL doesn't support stored procedures. (Yet! They'll be there in two or three years or so. ...whatever.)
It then touts MySQL's fine replication facilities. Hello people! How often has slashdot gone down due to database issues? Hardly a poster child for stability or reliability.
According to mysql.com, PostgreSQL doesn't have a unit test/regression test. It makes one wonder if they've even used PostgreSQL.
PostgreSQL is said to be deficient with ODBC. Too bad they couldn't provide any specifics.
I'll relax about the statement that MySQL had more functionality with ALTER TABLE. FYI for readers, that has just changed with PostgreSQL 7.3.
They are correct that PostgreSQL doesn't have MERGE. Instead, they use the SQL92 standard UNION. Does the same thing. And let's not forget about views. What was that!? MySQL has extensive use of non-standard syntax? Any queries you write in MySQL will only have a prayer of working on MySQL? Say it ain't so!
PostgreSQL has had full text search for a while as part of contrib.
I don't even want to start with "MySQL Server is coded from the start to be multi-threaded, while PostgreSQL uses processes." Aside from databases on Windows, this helps whom significantly? A clue folks: Apache HTTPd also uses processes extensively. Pure thread support was only really added for the sake of Windows. This is one of those times where stability and consistency are more important than raw speed. This is your data!
And on and on...
As a final note, I would like everyone to take a trip down memory lane with me and recall that the MySQL dev team didn't see a need for MySQL to have transactions or any other of those "fancy" things at all until a couple of years ago -- when everyone started to realize that MySQL wasn't really twice as fast as PostgreSQL even though MySQL was crippled feature-wise.
The MySQL has so much misleading information (apart from the items that are outright false) on the web site, I wouldn't recommend it to anyone who wants correct information, "current" or otherwise. -
Re:Question. I cry foul!That posted link to "why MySQL sucks for non-toy apps" (also known by the proper title: "Why Not MySQL?") in the previous post is in fact 2.5 years old, and therefore 2.5 years late to the party. Obviously a lot has happened since then in the development of PostgreSQL and MySQL software packages. It should be illegal to post such old references because old information can be very misleading. However, fortuneately, MySql has a website with current information on it (go figure).
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions- Is that information about foreign key constraints in the MySQL manual?
.. Why, yes!Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.
-
Re:Question. I cry foul!That posted link to "why MySQL sucks for non-toy apps" (also known by the proper title: "Why Not MySQL?") in the previous post is in fact 2.5 years old, and therefore 2.5 years late to the party. Obviously a lot has happened since then in the development of PostgreSQL and MySQL software packages. It should be illegal to post such old references because old information can be very misleading. However, fortuneately, MySql has a website with current information on it (go figure).
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions- Is that information about foreign key constraints in the MySQL manual?
.. Why, yes!Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.
-
Re:Question. I cry foul!That posted link to "why MySQL sucks for non-toy apps" (also known by the proper title: "Why Not MySQL?") in the previous post is in fact 2.5 years old, and therefore 2.5 years late to the party. Obviously a lot has happened since then in the development of PostgreSQL and MySQL software packages. It should be illegal to post such old references because old information can be very misleading. However, fortuneately, MySql has a website with current information on it (go figure).
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions- Is that information about foreign key constraints in the MySQL manual?
.. Why, yes!Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.
-
Re:Question. I cry foul!That posted link to "why MySQL sucks for non-toy apps" (also known by the proper title: "Why Not MySQL?") in the previous post is in fact 2.5 years old, and therefore 2.5 years late to the party. Obviously a lot has happened since then in the development of PostgreSQL and MySQL software packages. It should be illegal to post such old references because old information can be very misleading. However, fortuneately, MySql has a website with current information on it (go figure).
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions- Is that information about foreign key constraints in the MySQL manual?
.. Why, yes!Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.
-
Re:Question. I cry foul!That posted link to "why MySQL sucks for non-toy apps" (also known by the proper title: "Why Not MySQL?") in the previous post is in fact 2.5 years old, and therefore 2.5 years late to the party. Obviously a lot has happened since then in the development of PostgreSQL and MySQL software packages. It should be illegal to post such old references because old information can be very misleading. However, fortuneately, MySql has a website with current information on it (go figure).
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions- Is that information about foreign key constraints in the MySQL manual?
.. Why, yes!Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.