:: DEVELOPER ZONE
A seguinte lista descreve algumas das características mais importantes
do Progrma de Banco de Dados MySQL. See Secção 1.5.1, “MySQL 4.0 in a Nutshell”.
Portabilidade e
Escrito em C e C++.
Testado com um amplo faixa de compiladores diferentes.
Funciona em diversas plataformas. See Secção 2.2.3, “Sistemas Operacionais suportados pelo MySQL”.
Utiliza o GNU Automake, Autoconf, e Libtool para portabilidade.
APIs para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl estão disponíveis. See Capítulo 12, Ferramentas de Clientes e APIs do MySQL.
Suporte total a multi-threads usando threads diretamente no kernel. Isto significa que se pode facilmente usar múltiplas CPUs, se disponível.
Fornece mecanismos de armazenamento transacional e não transacional.
Tabelas em disco (MyISAM) baseadas em árvores-B extremamente rápidas com
compressão de índices.
É relativamente fácil se adicionar outro mecanismo de armazenamento. Isto é útil se você quiser adicionar uma interface SQL a um banco de dados caseiro.
Um sistema de alocação de memória muito rápido e baseado em processo(thread).
Joins muito rápidas usando uma multi-join de leitura única otimizada.
Tabelas hash em memória que são usadas como tabelas temporárias.
Funções SQL são implementadas por meio de uma biblioteca de classes altamente otimizada e com o máximo de performance. Geralmente não há nenhuma alocação de memória depois da inicialização da pesquisa.
O código do MySQL foi testado com Purify (um detector comercial de
falhas de memória) e também com o Valgrind, uma ferramenta GPL
(http://developer.kde.org/~sewardj/).
Disponível como versão cliente/servidor ou embutida(ligada).
Tipos de Coluna
Aceita diversos tipos de campos: tipos inteiros de 1, 2, 3, 4 e 8 bytes com
e sem sinal, FLOAT, DOUBLE, CHAR, VARCHAR,
TEXT, BLOB, DATE, TIME, DATETIME,
TIMESTAMP, YEAR, SET e ENUM.
See Secção 6.2, “Tipos de Campos”.
Registros de tamanhos fixos ou variáveis.
Comandos e Funções
Completo suporte a operadores e funções nas partes SELECT e
WHERE das consultas. Por exemplo:
mysql> SELECT CONCAT(first_name, " ", last_name)
-> FROM nome_tbl
-> WHERE income/dependents > 10000 AND age > 30;
Suporte pleno às cláusulas SQL GROUP BY e ORDER BY. Suporte
para funções de agrupamento (COUNT(), COUNT(DISTINCT ...),
AVG(), STD(), SUM(), MAX() e MIN()).
Suporte para LEFT OUTER JOIN e RIGHT OUTER JOIN com as sintaxes
SQL e ODBC.
Alias em tabelas e colunas são disponíveis como definidos no padrão SQL92.
DELETE, INSERT, REPLACE, e UPDATE retornam o número
de linhas que foram alteradas (afetadas). É possível retornar o número de linhas
com padrão coincidentes configurando um parâmetro quando estiver conectando ao
servidor.
O comando específico do MySQL SHOW pode ser usado para devolver
informações sobre bancos de dados, tabelas e índices. O comando EXPLAIN
pode ser usado para determinar como o otimizador resolve a consulta.
Nomes de funções não conflitam com nomes de tabelas ou colunas. Por
exemplo, ABS é um nome de campo válido. A única restrição é que
para uma chamada de função, espaços não são permitidos entre o nome
da função e o '(' que o segue.
See Secção 6.1.7, “Tratamento de Palavras Reservadas no MySQL”.
Você pode misturar tabelas de bancos de dados diferentes na mesma pesquisa (como na versão 3.22).
Segurança
Um sistema de privilégios e senhas que é muito flexível, seguro e que permite verificação baseada em estações/máquinas. Senhas são seguras porque todo o tráfico de senhas é criptografado quando você se conecta ao servidor.
Escalabilidade e limites
Lida com bancos de dados enormes. Usamos o Servidor MySQL com bancos
de dados que contém 50.000.000 registros e sabemos de usuários que usam o
Servidor MySQL com 60.000 tabelas e aproximadamente 5.000.000.000 de linhas.
São permitidos até 32 índices por tabela. Cada índice pode ser composto de
1 a 16 colunas ou partes de colunas. O tamanho máximo do índice é de 500
bytes (isto pode ser alterado na compilação do MySQL). Um índice
pode usar o prefixo de campo com um tipo CHAR ou VARCHAR.
Conectividade
Os clientes podem se conectar ao servidor MySQL usando sockets TCP/IP, em qualquer plataforma. No sistema Windows na família NT (NT, 2000 ou XP), os clientes podem se conectar usando named pipes. No sistema Unix, os clientes podem se conectar usando arquivos sockets.
A interface Connector/ODBC fornece ao MySQL suporte a progras clientes
que usam conexão ODBC (Open-DataBase-Connectivity). Por exemplo, você pode
usar o MS Access para conectar ao seu servidor MySQL. Os clientes podem
ser executados no Windows ou Unix. O fonte do Connector/ODBC está disponível.
Todas as funções ODBC são suportadas, assim como muitas outras.
Localização
O servidor pode apresentar mensagem de erros aos clientes em várias línguas. See Secção 4.7.2, “Mensagens de Erros em Outras Línguas”.
Suporte total para vários conjuntos de caracteres, que incluem ISO-8859-1
(Latin1), big5, ujis e mais. Por exemplo, os caracteres Escandinavos
'â', 'ä', 'ö' são permitidos em nomes de tabelas
e colunas.
Todos os dados são armazenados no conjunto de caracteres escolhido. Todas as comparações em colunas de seqüências caso-insensitivo.
A ordenação é feita de acordo com o conjunto de caracteres escolhido (o modo
sueco por padrão). É possível alterar isso quando o servidor MySQL é
iniciado. Para ver um exemplo de várias ordenações avançadas, procure
pelo código de ordenação Tcheca. O Servidor MySQL suporta diversos
conjuntos de caracteres que podem ser especificados em tempo de
compilação e execução.
Clientes e Ferramentas
O servidor MySQL foi construído com suporte para instruções SQL que verificam,
otimizam e reparam tabelas. Estas instruções estão disponíveis a partir da
linha de comando por meio do cliente myisamcheck, O MySQL inclui
também o myisamchk, um utilitário muito rápido para realizar estas operações
em tabelas MyISAM.
See Capítulo 4, Administração do Bancos de Dados MySQL.
Todos os programas MySQL podem ser chamados com as opções --help
ou -? para obter ajuda online.
© 1995-2005 MySQL AB. All rights reserved.
