As MySQL has about 50 mirrors over the world, and we don't get download statistics from them, it's hard to tell how many MySQL installations are out there.
The WWW and FTP log at http://www.mysql.com/ gives us the information shown in Tables 3 and 4; all counts are based on the number of distinct IPs.
On linux.com, every page does somewhere between 10 and 20 queries to the database. And linux.com does anywhere between 500K and 800K page views per day. They run MySQL on its own server, a dual Xeon system with huge amounts of RAM and hard-disk space.
While writing this, I asked Linux Journal what they use as a web back end, and learned they also use MySQL. Among the awards we have been given, we highly value the “Most Used Database” 1998 award we got from Linux Journal's readers.
Multi-threaded, multi-user and very fast
APIs to many different languages
A good, free ODBC driver
Many different column types which support all ANSI 92 and all ODBC 2.50 types as well as some new ones
Support for almost all ODBC 3.0 and SQL ANSI92 functions
Full support for SQL GROUP BY and ORDER BY clauses; support for group functions (COUNT, AVG, STD, SUM, MAX and MIN)
Ability to mix tables from different databases in the same query
Very flexible privilege system where privilege is based on host and user
Support for LEFT OUTER JOIN with both ANSI SQL and ODBC syntax
Fixed-length and variable-length records
Handles large databases; at TcX, we are using MySQL with some databases that contain over 50 million records.
Very robust with no memory leaks; all reported memory leaks have been in non-MySQL libraries, most notably some versions of glibc.
Ability to configure many different character sets, e.g., Japanese/Chinese
Error messages available in many languages
Many utilities and much contributed software
MySQL is extensively documented. Most questions can be resolved by reading the MySQL manual. We try to document everything to avoid getting too many questions on the MySQL mailing lists. The current manual has recently been improved considerably, thanks to the great work done by Paul DuBois.
Many small, extremely useful extensions that help you get your work done
Binary portable table format—it is now possible to copy MySQL table files between different architectures.
More and longer indexes—maximum is 32 which can be 500 bytes long (16/128 previously).
Even better index compression—it is faster and uses even less disk space.
Indexes on BLOB/TEXT columns just like a CHAR column.
Support for tables greater than 4GB on file systems which support files that big. The new limit is about 9 million terrabytes.
Has better fragmentation handling for the dynamic row format.
Added in-memory tables with hashed keys—an extremely fast way to have lookup tables.
Allows true floating-point columns with values such as 1.0E+10.
Includes example C code for a procedure that analyses the result from a SELECT.
Faster SELECT DISTINCT handling has been added.
Added much useful information in SHOW TABLE STATUS.
CREATE TABLE (...) SELECT * from a,c where something. This creates a table using data from a SELECT in one step. The data types and field names are automatically generated from the SELECT.
Removed the old limitation with big GROUP BY queries (with SQL_BIG_TABLES=0) that resulted in a “table is full” error.
Loads BLOBS from files with the LOAD_FILE function.
COUNT(DISTINCT) is supported.
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.Join us!
- Picking Out the Nouns
- Tips for Optimizing Linux Memory Usage
- "No Reboot" Kernel Patching - And Why You Should Care
- DevOps: Better Than the Sum of Its Parts
- Return of the Mac
- Android Candy: Intercoms
- Drupageddon: SQL Injection, Database Abstraction and Hundreds of Thousands of Web Sites
- Non-Linux FOSS: .NET?
- diff -u: What's New in Kernel Development