The Main Features of MySQL

This section describes some of the important characteristics of the MySQL Database Software. See also Section 1.4, “MySQL Development History”. In most respects, the roadmap applies to all versions of MySQL. For information about features as they are introduced into MySQL on a series-specific basis, see the “In a Nutshell” section of the appropriate Manual:

Internals and Portability:

  • Written in C and C++.
  • Tested with a broad range of different compilers.
  • Works on many different platforms. See Section 2.4.2, “Operating Systems Supported by MySQL Community Server”.
  • Uses GNU Automake, Autoconf, and Libtool for portability.
  • Tested with Purify (a commercial memory leakage detector) as well as with Valgrind, a GPL tool (http://developer.kde.org/~sewardj/).
  • Uses multi-layered server design with independent modules.
  • Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if they are available.
  • Provides transactional and nontransactional storage engines.
  • Uses very fast B-tree disk tables (MyISAM) with index compression.
  • Designed to make it relatively easy to add other storage engines. This is useful if you want to provide an SQL interface for an in-house database.
  • Uses a very fast thread-based memory allocation system.
  • Executes very fast joins using an optimized nested-loop join.
  • Implements in-memory hash tables, which are used as temporary tables.
  • Implements SQL functions using a highly optimized class library that should be as fast as possible. Usually there is no memory allocation at all after query initialization.
  • Provides the server as a separate program for use in a client/server networked environment, and as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.

Data Types:

Statements and Functions:

  • Full operator and function support in the SELECT list and WHERE clause of queries. For example:
    mysql> SELECT CONCAT(first_name, ' ', last_name)
        -> FROM citizen
        -> WHERE income/dependents > 10000 AND age > 30;
    
  • Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions (COUNT(), AVG(), STD(), SUM(), MAX(), MIN(), and GROUP_CONCAT()).
  • Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC syntax.
  • Support for aliases on tables and columns as required by standard SQL.
  • Support for DELETE, INSERT, REPLACE, and UPDATE to return the number of rows that were changed (affected), or to return the number of rows matched instead by setting a flag when connecting to the server.
  • Support for MySQL-specific SHOW statements that retrieve information about databases, storage engines, tables, and indexes. MySQL 5.0 adds support for the INFORMATION_SCHEMA database, implemented according to standard SQL.
  • An EXPLAIN statement to show how the optimizer resolves a query.
  • Independence of function names from table or column names. For example, ABS is a valid column name. The only restriction is that for a function call, no spaces are allowed between the function name and the “(” that follows it. See Section 8.3, “Reserved Words”.
  • You can refer to tables from different databases in the same statement.

Security:

  • A privilege and password system that is very flexible and secure, and that allows host-based verification.
  • Password security by encryption of all password traffic when you connect to a server.

Scalability and Limits:

  • Support for large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 200,000 tables and about 5,000,000,000 rows.
  • Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 1000 bytes (767 for InnoDB); before MySQL 4.1.2, the limit is 500 bytes. An index may use a prefix of a column for CHAR, VARCHAR, BLOB, or TEXT column types.

Connectivity:

  • Clients can connect to MySQL Server using several protocols:
    • Clients can connect using TCP/IP sockets on any platform.
    • On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect using named pipes if the server is started with the --enable-named-pipe option. In MySQL 4.1 and higher, Windows servers also support shared-memory connections if started with the --shared-memory option. Clients can connect through shared memory by using the --protocol=memory option.
    • On Unix systems, clients can connect using Unix domain socket files.
  • MySQL client programs can be written in many languages. A client library written in C is available for clients written in C or C++, or for any language that provides C bindings.
  • APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available, allowing MySQL clients to be written in many languages. See Chapter 20, Connectors and APIs.
  • The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. MyODBC source is available. All ODBC 2.5 functions are supported, as are many others. See Section 20.1, “MySQL Connector/ODBC”.
  • The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is available. See Section 20.3, “MySQL Connector/J”.
  • MySQL Connector/NET enables developers to easily create .NET applications that require secure, high-performance data connectivity with MySQL. It implements the required ADO.NET interfaces and integrates into ADO.NET aware tools. Developers can build applications using their choice of .NET languages. MySQL Connector/NET is a fully managed ADO.NET driver written in 100% pure C#. See Section 20.2, “MySQL Connector/NET”.

Localization:

  • The server can provide error messages to clients in many languages. See Section 9.2, “Setting the Error Message Language”.
  • Full support for several different character sets, including latin1 (cp1252), german, big5, ujis, and more. For example, the Scandinavian characters “å”, “ä” and “ö” are allowed in table and column names. Unicode support is available as of MySQL 4.1.
  • All data is saved in the chosen character set.
  • Sorting and comparisons are done according to the chosen character set and collation (using latin1 and Swedish collation by default). It is possible to change this when the MySQL server is started. To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime.
  • As of MySQL 4.1, the server time zone can be changed dynamically, and individual clients can specify their own time zone. Section 9.6, “MySQL Server Time Zone Support”.

MySQL Enterprise. For assistance in getting optimal performance from your MySQL server subscribe to MySQL Enterprise. For more information, see http://www.mysql.com/products/enterprise/.

Clients and Tools:

  • MySQL includes several client and utility programs. These include both command-line programs such as mysqldump and mysqladmin, and graphical programs such as MySQL Administrator and MySQL Query Browser.
  • MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the mysqlcheck client. MySQL also includes myisamchk, a very fast command-line utility for performing these operations on MyISAM tables. See Chapter 4, MySQL Programs.
  • MySQL programs can be invoked with the --help or -? option to obtain online assistance.

36 Responses to The Main Features of MySQL

  1. Google says:

    Google…

    […]the time to study or check out the content or web-sites we have linked to beneath the[…]…

  2. Links…

    […]Sites of interest we have a link to[…]……

  3. The Main Features of MySQL | Source and Code System…

    That is such a awesome resource that you simply are providing and also you give it away for free. I love seeing web pages that understand the value of providing a high quality resource for free. It is the old what goes around arrives around routine. Di…

  4. Recent Blogroll Additions……

    […]usually posts some very interesting stuff like this. If you’re new to this site[…]……

  5. társkereső says:

    Websites we think you should visit…

    […]although websites we backlink to below are considerably not related to ours, we feel they are actually worth a go through, so have a look[…]……

  6. Discount Yankee Candles…

    […]while the sites we link to below are completely unrelated to ours, we think they are worth a read, so have a look[…]…

  7. csábítás says:

    Superb website…

    […]always a big fan of linking to bloggers that I love but don’t get a lot of link love from[…]……

  8. sith classes says:

    A Friend recommended your blog…

    […]How find diffеrеnt blogs оn Blogger with keyword or search?[…]…

  9. TV Lamps…

    The Truth behind Television Replacement Lamps….

  10. randi says:

    Recent Blogroll Additions……

    […]usually posts some very interesting stuff like this. If you’re new to this site[…]……

  11. adult friend…

    […]while the sites we link to below are completely unrelated to ours, we think they are worth a read, so have a look[…]…

  12. hódítás says:

    Wholesale Yankee Candles…

    […]just below, are some totally unrelated sites to ours, however, they are definitely worth checking out[…]…

  13. ismerkedés says:

    Websites we think you should visit…

    […]although websites we backlink to below are considerably not related to ours, we feel they are actually worth a go through, so have a look[…]……

  14. Great Clips Coupons…

    […]listed here are several url links to sites which I link to for the fact we feel they will be definitely worth visiting[…]…

  15. udvarlás says:

    Buy Yankee Candles at Half Off…

    […]the time to read or visit the content or sites we have linked to below the[…]…

  16. csajozás says:

    Awesome website…

    […]the time to read or visit the content or sites we have linked to below the[…]……

  17. Het werk van Yesturdays voor morgen – een blik op sommige voorbeelden…

    Werd getoond dit voorbeeld, via Megan hardvalder Facebook en geloof het om te zijn uiterst informatief en ook het punt…

  18. brambula says:

    Discount Yankee Candles…

    […]while the sites we link to below are completely unrelated to ours, we think they are worth a read, so have a look[…]…

  19. 網路行銷 says:

    Latest news from all around the world, you need to see this !…

    […]blow are some sites that we think it will be helpful and fun to read[…]…

  20. buy damansara house…

    […]you will find information that’s relevant to you if you want to buy damansara house[…]…

  21. comedy clubs says:

    Sources…

    […]check below, are some totally unrelated websites to ours, however, they are most trustworthy sources that we use[…]……

  22. brian ofsie says:

    Read was interesting, stay in touch……

    […]please visit the sites we follow, including this one, as it represents our picks from the web[…]……

  23. Wikia…

    Wika linked to this website…

  24. webhosting…

    […]we like to honor other sites on the web, even if they aren’t related to us, by linking to them. Below are some sites worth checking out[…]…

  25. basketball drills…

    […]just below, are some totally unrelated sites to ours, however, they are definitely worth checking out[…]…

  26. Looking around…

    I like to look around the internet, often I will go to Digg and read and check stuff out…

  27. Ipad Ii says:

    Ipad Stylus…

    […]right here are a couple of hyper-links to internet sites we link to because we believe they really are truly worth visiting[…]…

  28. travel…

    […]the time to read or visit the content or sites we have linked to below the[…]…

  29. 二手筆電 says:

    10 great ways to improve your website ranking…

    […]just below, are some totally unrelated sites to ours, however, they are definitely worth checking out[…]…

  30. Yesturdays work for tomorrow – a look at some examples…

    Was shown this example, via David hardvalder on linkedin and imagine it to be somewhat informative and too the point…

  31. 商業錄影 says:

    Coolest Wedding on the planet, you have to see this !…

    […]the time to read or visit the content or sites we have linked to below the[…]…

  32. Digg…

    While checking out DIGG today I found this…

  33. Interesting links…

    […]%BLOGTITLE%[…]…

  34. 二手筆電 says:

    Latest Apple news ? Hotest internet news ?…

    […]while the sites we link to below are completely unrelated to ours, we think they are worth a read, so have a look[…]…

  35. Not exactly trending…

    Not as hot as Bin Hammam, but great anyway….

  36. You should check this out…

    […] Wonderful story, reckoned we could combine a few unrelated data, nevertheless really worth taking a look, whoa did one learn about Mid East has got more problerms as well […]……

Leave a Reply

Your email address will not be published. Required fields are marked *


two × = 2

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>