Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
11 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 11 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Erro de compatibilidade de cores

28/3/2017, 10:59 por Clebervfp

Boa dia, estou com um problema com vfp9, se alguém poder me ajudar fico agradecido!

Tenho um …

Comentários: 0

Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Estatísticas
Temos 7039 usuários registrados
O último usuário registrado atende pelo nome de missias

Os nossos membros postaram um total de 32 mensagens em 18 assuntos

Turbine seu MySQL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Informativo Turbine seu MySQL

Mensagem por hugo em 11/3/2010, 19:49

Galera

gostei, postei

http://phpbrasil.com/artigo/UM3tp0UYa_Oo/1/turbine-o-seu-mysql

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - http://www.youtube.com/watch?v=3NUEXX_yOL0
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Informativo Re: Turbine seu MySQL

Mensagem por Marcos Guedes em 12/3/2010, 12:51

Caso o link um dia esteja indisponível:
Turbine o seu MySQL! escreveu:A partir da versão 3.23.49, a dupla MySQL/MyISAM foi declarada estável para utilização. Conheça suas características

Desde a versão 3.23.6 o MySQL suporta três tipos de tabelas: ISAM, HEAP e INNODB. As versões mais recentes também suportam o tipo MyISAM e MERGE.

ISAM
Este tipo de tabela provavelmente será desativado no MySQL 4.1. Utiliza dois arquivos para guardar os dados de cada tabela, .ISM (índice) e .ISD (dados), além do .FRM que guarda a estrutura da tabela. Estes arquivos são limitados e dependem do sistema operacional, não sendo possível enviar os arquivos de um sistema para outro.

HEAP
É guardada na memória. Muito rápida, porém volátil. Perfeita para tabelas temporárias ou de trabalho, pois todos os clientes têm acesso à mesma tabela como se fosse uma tabela normal.

INNODB
É o formato padrão adotado pelo MySQL desde a versão 3.23. É baseado no formato ISAM, mas com muitas características adicionais. Utiliza também dois arquivos para cada tabela, .MYI (índice) e .MYD (dados), e possui um formato independente da máquina e/ou sistema operacional. Existem vários utilitários que são distribuídos junto com o MySQL para compactar (myisampack), verificar e corrigir (myisamchk) as tabelas. As inserções e exclusões, assim como as queries, são extremamente rápidas, pois o tipo INNODB foi construído para ser rápido e fácil de utilizar, além de robusto.

MERGE
Adicionado ao MySQL desde a versão 3.23.25, ainda está em desenvolvimento. Uma tabela "MERGE" é uma coleção de tabelas INNODB idênticas, que são utilizadas como se fossem apenas uma tabela. As vantagens de se utilizar este tipo de tabela são: Maior velocidade com tabelas somente leitura muito grandes; facilidade em reparos e a possibilidade de se trabalhar com tabelas maiores que o permitido pelo sistema operacional utilizado, pois divide os dados em mais de um arquivo. Note que, neste caso, cada tabela indicada na tabela "MERGE" continua a ser limitada ao tamanho máximo suportado pelo SO.

BDB
Suporta recuperação de falhas e transações, é uma versão modificada do banco de dados BerkeleyDB para funcionar com o MySQL.

MyISAM
Adicionado ao MySQL desde a versão 3.23.34a, já está sendo utilizado por sites que recebem muitos acessos e que necessitam de alta perfomance, como é o caso do Slashdot.org. Foi considerado estável desde a versão 3.23.49, e são esperadas muitas melhorias na versão 3.23.50. Segue na próxima página algumas características adicionadas ao MySQL quando se utilizam as tabelas MyISAM.

Suporte a transações (transaction-safe):

Uma transação compreende um ou mais comandos para a manipulação de dados que devem ser executados como se fossem apenas um. O exemplo mais simples é o caso de um sistema para bancos.

Quando um correntista faz uma transferência entre duas contas, o sistema deve subtrair o valor da transferência do saldo da conta de origem e adicionar este valor à conta destino. Ao iniciar a transação, devemos informar ao banco de dados que ele deve criar a transação:

Código:
BEGIN;

E, em seguida, enviar os comandos SQL:

Código:
UPDATE contas SET saldo = saldo - 100 WHERE conta = "origem";

UPDATE contas SET saldo = saldo + 100 WHERE conta = "destino";

Ao enviarmos todos os comandos necessários (pode haver outros, como criar os lançamentos em outros arquivos e assim por diante) devemos informar ao BD que a transação acabou e que ele pode gravar os dados:

COMMIT;

Caso a conta destino não possa receber o valor informado por estar fechada, podemos cancelar todos os comandos enviados desde o BEGIN. Mas para isso, o comando COMMIT não pode ter sido enviado:

ROLLBACK;

E pronto, tudo volta a ser como antes. Embora apenas dois comandos SQL sejam executados pelo BD em menos de um segundo, este tempo "ínfimo" pode ser o necessário para tudo dar errado em caso de falta de luz ou falha de hardware.

Recuperação de falhas (crash recovery):

Seguindo o mesmo exemplo acima, no caso de uma falha no hardware ou qualquer outro inconveniente, um COMMIT mal sucedido será revertido ao estado anterior pelo engine MyISAM, que utiliza logs para gravar as últimas transações e recuperar as tabelas em caso de erro. Com isso, diminui-se a possibilidade de "sumir o dinheiro" no caso da aplicação citada acima. Para recuperar uma falha, basta apenas reiniciar o MySQL e o engine MyISAM se encarregará do resto.

Bloqueio de registros (row-level locking):

Como exemplo, dois operadores irão atualizar o valor de uma conta corrente: o cliente 1 irá adicionar R$ 100,00 e o cliente 2 irá subtrair R$ 50,00. Só que as duas operações ocorrem simultaneamente.

Sem o bloqueio, os clientes 1 e 2 lêem o saldo de uma conta como R$800,00, o primeiro adiciona R$ 100,00 e grava no BD o saldo de R$ 900,00. O cliente 2 subtrai R$ 50,00 e grava R$ 750,00. Nesta situação, os R$ 100,00 depositados sumiram!

Ao se utilizar o bloqueio, aquele cliente que leu o registro primeiro pode bloquear a tabela até gravar as alterações, e o segundo cliente fica esperando liberar o bloqueio.

As tabelas INNODB têm suporte a bloqueio por tabela, ou seja, mesmo que outro cliente deseje alterar o valor de outro registro, deve aguardar que outros clientes gravem os dados primeiro e liberem a tabela. Já no caso das tabelas MyISAM o bloqueio pode ser feito por registro, deixando a aplicação muito mais rápida. E para melhorar a situação, o engine MyISAM ocupa pouca memória por registro bloqueado.

Para bloquear um ou mais registros para leitura, basta adicionar ao final da query os comandos: LOCK IN SHARE MODE (Ex.: SELECT * FROM tabela WHERE codigo=1 LOCK IN SHARE MODE). Este modo de bloqueio serve quando se deseja bloquear um registropai para adicionar um registro-filho, e ter certeza que o registro-pai existirá quando for feita a inserção do registro-filho.

Ao fazer alteração no registro, utilize no final da query o comando FOR UPDATE (Ex.: SELECT * FROM tabela WHERE codigo=1 FOR UPDATE). Todos os registros selecionados serão bloqueados. O bloqueio termina quando for enviado o comando COMMIT.

Integridade referencial (FOREIGN KEY constraints):

Em uma aplicação que utilize o MySQL, deve-se certificar que ao tentar apagar um registro-pai, os filhos também devem ser apagados ou a exclusão deve ser cancelada. Com a utilização de foreign keys deixamos esta tarefa para o MySQL.

Na versão atual do MySQL (3.23.49), o suporte é para apenas a restrição de índices. Mas a partir da versão 3.23.50, o suporte se estende para excluir os registros-filho ou deixar o valor deles como nulo (NULL).

Os índices na tabela-filho não são criados automaticamente, e devem ser criados anteriormente.

Para criar as tabelas siga o exemplo abaixo:

Código:
CREATE TABLE tabela_pai ( codigo INT NOT NULL, PRIMARY KEY (codigo)) TYPE=INNODB;

CREATE TABLE tabela_filho( codigo INT, codigo_pai INT,INDEX tabpai_ind (codigo_pai), FOREIGN KEY (codigo_pai) REFERENCES tabela_pai(codigo) ON DELETE CASCADE ) TYPE=INNODB;

A criação do índice segue a seguinte sintaxe:

Código:
FOREIGN KEY (coluna_da_tabela_filha) REFERENCES nome_da_tabela_pai (campo_na_tabela_pai).

Onde campo_na_tabela_pai deve ser um índice exclusivo e coluna_da_tabela_filha deve ter um índice apenas para um campo, assim como codigo na tabela_pai e codigo_pais na tabela_filho devem ser do mesmo tipo e, dependendo do tipo, do mesmo tamanho.

Deve-se atentar para um problema na versão atual do MySQL. Quando existem tabelas com relacionamentos, não se deve usar o comando ALTER TABLE nas mesmas, ou os relacionamentos serão perdidos. Para se alterar uma tabela com relacionamento ou até mesmo criar mais relacionamentos é necessário excluir a tabela e recriá-la com as alterações necessárias. A partir da versão 3.23.50 será possível utilizar o comando ALTER TABLE nessas tabelas.

O MyISAM vem incorporado ao MySQL, mas desativado nas versões 3.23. Os seguintes requisitos são necessários para utilizar o MyISAM:

Ter uma versão do MySQL igual ou superior a 3.23.49;

executar o mysqld-max ao invés de mysql para inicar o servidor;

editar o arquivo my.cnf e inserir as seguintes configurações na seção [mysqld]:
Código:
innodb_data_home_dir = /var

innodb_data_file_path = ibdata1:100M

A primeira linha informa ao MySQL onde o MyISAM irá criar os arquivos que guardam as tabelas, o default é o mesmo onde ele cria os arquivos INNODB (datadir). A segunda linha informa os nomes dos arquivos para guardar as tabelas. Pode ser informado mais de um arquivo, separando cada um por ponto-e-vírgula, como por exemplo:

Código:
innodb_data_file_path = ibdata1:100M;ibdata2:100M

Neste exemplo são criados dois arquivos para o MyISAM. Depois de definido um arquivo, seu tamanho não pode ser alterado. No caso de falta de espaço no arquivo, basta criar mais um.

A partir da versão 3.23.50 pode-se adicionar o parâmetro autoextend para aumento automático do arquivo, e a partir da versão 4.0 não será necessário especificar o arquivo, já que por padrão será criado um de 16Mb ou 64Mb com o "autoextend" acionado..

Uma boa escolha

O que já era bom está ficando cada vez melhor. O MySQL é sem dúvida uma ótima opção na hora da decisão sobre qual Banco de Dados utilizar em uma aplicação. Seja a aplicação para web, cliente-servidor ou até mesmo desktop, o MySQL consome poucos recursos e possibilita um aumento de performance em servidores pesados.

Um benchmark realizado pela eWeek mostra que o MySQL, utilizando tabelas INNODB e MyISAM, consegue se equiparar ao Oracle em termos de performance, batendo pesos-pesados como DB2, MS-SQL Server e Sybase ASE.

Para saber mais:

MySQL: http://www.mysql.com
MyISAM: http://www.innodb.com
BerkeleyDB: http://www.sleepycat.com


Artigo escrito por mim e publicado na Revista do Linux no. 31.
Reproduzido com a permissão da Revista Do Linux (http://www.RevistaDoLinux.com.br)

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
http://portal.programacaobrasil.com

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum