MySQL データベースソフトウェア
        の重要な特徴の一部を以下で説明します。 See
        項1.5.1. 「MySQL 4.0 の概要」。
      
内部および移植性
C および C++ で記述されている。
さまざまなコンパイラでテストされている。
さまざまなプラットフォームで動作する。 See 項2.2.3. 「MySQL がサポートしているオペレーティングシステム」。
移植性のために GNU Automake、Autoconf、および Libtool を使用している。
C、C++、Eiffel、Java、Perl、PHP、Python、Ruby、および Tcl の API が使用可能である。 See 章 11. MySQL API。
カーネルスレッドを使用した完全なマルチスレッド。そのため、使用可能な場合、複数の CPU を簡単に使用することができる。
トランザクションストレージエンジンと非トランザクションストレージエンジンを備えている。
                  インデックス圧縮を備えた非常に高速な
                  B-tree
                  ディスクテーブル(MyISAM)を使用している。
                
別のストレージエンジンの追加が比較的容易である。これは、社内データベースへの SQL インタフェースを追加する場合に便利である。
スレッドベースの非常に高速なメモリ割り当てシステム。
最適化された one-sweep multi-join を使用した非常に迅速な結合。
テンポラリテーブルとして使用されるメモリ内ハッシュテーブル。
高度に最適化されたクラスライブラリから SQL 関数が実装されるため、最大限の速度が確保される。通常は、クエリの初期化後にメモリ割り当てが行われることはない。
                  MySQL コードは
                  Purify(市販のメモリリーク検出システム)と
                  Valgrind と呼ばれる GPL
                  ツール(http://developer.kde.org/~sewardj/)を使用してテストされている。
                
クライアント/サーバまたは組み込み(リンク)バージョンとして使用可能である。
カラム型
                  多数のカラム型: 1、2、3、4、および 8
                  バイト長の符号付き/符号なし整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、および
                  ENUM 型。 See
                  項6.2. 「カラム型」。
                
固定長および可変長のレコード。
コマンドと関数
                  クエリの SELECT 節および
                  WHERE
                  節での演算子と関数の完全なサポート。たとえば、次のように使用することができる。
                
mysql>SELECT CONCAT(first_name, " ", last_name)->FROM tbl_name->WHERE income/dependents > 10000 AND age > 30;
                  SQL の GROUP BY 節および
                  ORDER BY
                  節の完全なサポート。グループ関数(COUNT()、COUNT(DISTINCT
                  ...)、AVG()、STD()、SUM()、MAX()、MIN()、および
                  GROUP_CONCAT())のサポート。
                
                  標準の SQL 構文および ODBC 構文での
                  LEFT OUTER JOIN および
                  RIGHT OUTER JOIN のサポート。
                
SQL-92 で必要な、テーブルおよびカラムにおけるエイリアスのサポート。
                  DELETE、INSERT、REPLACE、および
                  UPDATE
                  は、変更された(影響を受けた)レコードの数を返す。サーバに接続する際にフラグを設定することで、代わりに一致したレコードの数を返すことも可能である。
                
                  MySQL 固有の
                  SHOW
                  コマンドを使用すると、データベース、テーブル、およびインデックスに関する情報を取得することができる。EXPLAIN
                  コマンドを使用すると、オプティマイザによるクエリの解決方法を決定することができる。
                
                  関数名は、テーブル名やカラム名と衝突しない。たとえば、ABS
                  は有効なカラム名である。関数呼び出しで、関数名とその後に続く
                  ‘(’
                  との間にスペースを使用できない点が唯一の制限事項である。
                  See 項6.1.7. 「MySQL での予約語の扱い」。
                
同一のクエリにさまざまなデータベース内のテーブルを混在させることができる(バージョン 3.22 以降)。
セキュリティ
非常に柔軟で安全な特権およびパスワードシステム。ホストベースの検証が可能である。サーバに接続する際にすべてのパスワードトラフィックが暗号化されるので、パスワードは安全である。
拡張性と範囲
                  大規模なデータベースを処理する。当社は、MySQL
                  サーバを使用して 50,000,000
                  レコードが格納されたデータベースを処理している。また、MySQL
                  サーバを使用して 60,000
                  テーブル、約 5,000,000,000
                  レコードを処理しているユーザもいる。
                
                  各テーブルで最高 32
                  個のインデックスが使用可能である。各インデックスは、1
                  から 16
                  個のカラムまたはカラムの一部で構成される。インデックスの最大幅は
                  500 バイトである(これは、MySQL
                  サーバのコンパイル時に変更可能である)。インデックスでは、CHAR
                  型または VARCHAR
                  型のカラムのプリフィックスを使用することができる。
                
接続性
                  クライアントは、あらゆるプラットフォームで
                  TCP/IP ソケットを使用して
                  MySQL
                  サーバに接続することができる。NT
                  ファミリ(NT、2000、または XP) の Windows
                  システムでは、クライアントは名前付きパイプを使用して接続することができる。Unix
                  システムでは、Unix
                  ドメインソケットファイルを使用して接続することができる。
                
                  Connector/ODBC
                  インタフェースによって、ODBC(Open-DataBase-Connectivity)接続を使用するクライアントプログラムに
                  MySQL
                  サポートが提供される。たとえば、MS
                  Access を使用して MySQL
                  サーバに接続することができる。クライアントは、Windows
                  と Unix
                  のどちらで実行されていてもかまわない。Connector/ODBC
                  ソースが使用可能である。他の多くの機能と同様に、ODBC
                  2.5 のすべての機能がサポートされる。
                  See 項11.2. 「MySQL の ODBC サポート」。
                
ローカライズ
サーバからクライアントへ多数の言語でエラーメッセージを送信することができる。 See 項4.7.2. 「英語以外のエラーメッセージ」。
                  ISO-8859-1(Latin1)、german、big5、ujis
                  などのさまざまなキャラクタセットの完全なサポート。たとえば、スカンジナビア語の文字
                  ‘â’、‘ä’、および
                  ‘ö’
                  をテーブル名やカラム名で使用することができる。
                
すべてのデータが、選択したキャラクタセットで保存される。通常の文字列カラムの比較はすべて、大文字と小文字を区別しない。
                  ソートは、選択したキャラクタセットに基づいて行われる(デフォルトはスウェーデン語によるソート)。これは、MySQL
                  サーバの起動時に変更することができる。非常に高度なソートの例については、チェコ語のソートコードを参照。MySQL
                  サーバではさまざまなキャラクタセットがサポートされており、コンパイル時および実行時に指定することができる。
                
クライアントとツール
                  MySQL
                  サーバには、テーブルのチェック、最適化、および修復を行う
                  SQL
                  ステートメントのサポートが組み込まれている。これらのステートメントは、mysqlcheck
                  クライアントを介してコマンドラインから使用可能である。また、MySQL
                  には、MyISAM
                  テーブルでこれらの操作を実行するための
                  myisamchk
                  という非常に高速なコマンドラインユーティリティが組み込まれている。
                  See 章 4. データベース管理。
                
                  --help または
                  -?
                  オプションを指定して呼び出すと、すべての
                  MySQL
                  プログラムでオンラインヘルプを参照することができる。
                
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

