[+/-]
      The C API code is distributed with MySQL. It is included in the
      mysqlclient library and allows C programs to
      access a database.
    
      Many of the clients in the MySQL source distribution are written
      in C. If you are looking for examples that demonstrate how to use
      the C API, take a look at these clients. You can find these in the
      clients directory in the MySQL source
      distribution.
    
      Most of the other client APIs (all except Connector/J) use the
      mysqlclient library to communicate with the
      MySQL server. This means that, for example, you can take advantage
      of many of the same environment variables that are used by other
      client programs, because they are referenced from the library. See
      Capítulo 8, Programas cliente y utilidades MySQL, for a list of these
      variables.
    
The client has a maximum communication buffer size. The size of the buffer that is allocated initially (16KB) is automatically increased up to the maximum size (the maximum is 16MB). Because buffer sizes are increased only as demand warrants, simply increasing the default maximum limit does not in itself cause more resources to be used. This size check is mostly a check for erroneous queries and communication packets.
      The communication buffer must be large enough to contain a single
      SQL statement (for client-to-server traffic) and one row of
      returned data (for server-to-client traffic). Each thread's
      communication buffer is dynamically enlarged to handle any query
      or row up to the maximum limit. For example, if you have
      BLOB values that contain up to 16MB of data,
      you must have a communication buffer limit of at least 16MB (in
      both server and client). The client's default maximum is 16MB, but
      the default maximum in the server is 1MB. You can increase this by
      changing the value of the max_allowed_packet
      parameter when the server is started. See
      Sección 7.5.2, “Afinar parámetros del servidor”.
    
      The MySQL server shrinks each communication buffer to
      net_buffer_length bytes after each query. For
      clients, the size of the buffer associated with a connection is
      not decreased until the connection is closed, at which time client
      memory is reclaimed.
    
For programming with threads, see Sección 24.2.15, “Cómo hacer un cliente multihilo”. For creating a standalone application which includes the "server" and "client" in the same program (and does not communicate with an external MySQL server), see Sección 24.2.16, “libmysqld, la biblioteca del servidor MySQL incrustado (embedded)”.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

