MySQL 5.1 リファレンスマニュアル :: 23 APIとライブラリー :: 23.2 MySQL C API
« 23.1.6 埋め込まれたサーバに対するのライセンスの供与

23.2.1 C APIデータタイプ »
Section Navigation      [Toggle]
  • 23 APIとライブラリー
  • 23.1 埋め込まれたMySQLサーバライブラリ、libmysqld
  • 23.2 MySQL C API
    • 23.2.1 C APIデータタイプ
    • 23.2.2 C API機能の概要。
    • 23.2.3 C API機能の説明
    • 23.2.4 準備されたC APIステートメント。
    • 23.2.5 準備されたC APIステートメントデータタイプ
    • 23.2.6 準備されたC APIステートメント機能の概要
    • 23.2.7 準備されたC APIステートメント機能の詳細
    • 23.2.8 準備されたC API ステートメントの問題
    • 23.2.9 マルチプルステートメントを実行するC APIハンドリング
    • 23.2.10 日付とタイム値のC API式取り扱い
    • 23.2.11 C APIスレッド機能の説明
    • 23.2.12 埋め込まれたC API機能の説明
    • 23.2.13 自動再接続挙動の管理
    • 23.2.14 C APIを使うときよく尋ねられる質問と問題
    • 23.2.15 クライアントプログラムの構築
    • 23.2.16 スレッド付きクライアントを作る方法
  • 23.3 MySQL PHP API
  • 23.4 MySQL Perl API
  • 23.5 MySQL C++ API
  • 23.6 MySQL Python API
  • 23.7 MySQL Tcl API
  • 23.8 MySQLエッフェルラッパー
  • 23.9 MySQLプログラム開発ユーティリティー

23.2. MySQL C API

[+/-]

23.2.1. C APIデータタイプ
23.2.2. C API機能の概要。
23.2.3. C API機能の説明
23.2.4. 準備されたC APIステートメント。
23.2.5. 準備されたC APIステートメントデータタイプ
23.2.6. 準備されたC APIステートメント機能の概要
23.2.7. 準備されたC APIステートメント機能の詳細
23.2.8. 準備されたC API ステートメントの問題
23.2.9. マルチプルステートメントを実行するC APIハンドリング
23.2.10. 日付とタイム値のC API式取り扱い
23.2.11. C APIスレッド機能の説明
23.2.12. 埋め込まれたC API機能の説明
23.2.13. 自動再接続挙動の管理
23.2.14. C APIを使うときよく尋ねられる質問と問題
23.2.15. クライアントプログラムの構築
23.2.16. スレッド付きクライアントを作る方法

C APIコードはMySQLを使って配付されます。それはmysqlclientライブラリの中に含まれ、これによって、データベースにアクセスすることが許されます。

ソース・デストリビューション中のクライアントの多くはC言語で書かれています。C APIを使用する方法を示す例を探す場合、これらのクライアントを調べてください。MySQLソースデストリビューション中のclientsダイレクトリーの中でこれらを見つけることができます。

他のクライアントAPIの殆ど(Connector/JおよびConnector/NETを除く全て)はmysqlclientライブラリを使ってMySQLサーバと交信します。これは、例えば、他のクライアントプログラムによって使われると同じ環境変数の多くから利益を得ることができることを意味します。これらの変数のリストについては、章 7. クライアントプログラムとユーティリティ プログラムをご参照ください。

クライアントは最大のコミュニケーションバッファーサイズを持っています。最初に割り当てられたバッファーのサイズ(16KB)は自動的に最大サイズまで増やされます。(この場合の最大は16MB)バッファーサイズは需要保証としてだけ増やされるので、初期設定最大限度を単純に増加させても、使用すべき資源の本質的増加を引き起こしません。このサイズチェックは殆どの場合、エラーステートメントとコミュニケーションパケットに対するチェックです。

コミュニケーションバッファーは、(クライアントからサーバへのトラフィックに対する)シングルSQLステートメント並びに(サーバからクライアントへのトラフィックに対する)返還データの1本の列を含めるに十分な大きさを持っていなければなりません。各スレッッドのコミュニケーションバッファーはクエリーもしくは列を最大限度まで扱うため、ダイナミックに拡大されます。例えば、サイズが16MB未満のデータを含む BLOB 値を持っている場合、(サーバとクライアントの両方の中に)少なくとも16MBのコミュニケーション・バッファー リミットを持っていなければなりません。クライアントのデフォルト最大値は16MBですが、サーバのそれは1MBです。サーバを立ち上げる時、max_allowed_packet パラメータの値を変更することによってこれを増やすことができます。項6.5.2. 「サーバパラメータのチューニング」を参照してください。

MySQLサーバは各クエリーの後、各コミュニケーションバッファーを net_buffer_length バイトに縮小させます。クライアントの場合、接続に関係するバッファーのサイズは接続が閉鎖されるまで減少されません。その時、クライアントのメモリーは改善されます。

詳しくは項23.2.16. 「スレッド付きクライアントを作る方法」をご参照ください。同じプログラムの中にサーバとクライアントを含み(外部MySQLサーバと交信しない)独立したアプリケーションを生成するには、項23.1. 「埋め込まれたMySQLサーバライブラリ、libmysqld」をご参照ください。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates