Migração do servidor SQL para resumo Mysql

Processo de migração

Transformação de programa e migração de banco de dados

Tipo de migração

Migração online e migração offline

Ferramenta de migração

Você pode usar o SQL Server Management Studio, que adiciona um driver ODBC para operar o Mysql.

Uso de SQL OPENQUERY

 

Função OPENQUERY, executa remotamente adição, exclusão, modificação e consulta de banco de dados.

por exemplo:

  1. OPENQUERY ([MYSQL-STAGE-STAGE], 'selecione * de etl_migrate_log onde table_name =' 'notas' ';')

     O primeiro parâmetro é o nome do servidor vinculado configurado e o segundo parâmetro é o comando MySQL a ser executado

Adicionar, excluir, modificar

--1.SELECT 语句
SELECT * FROM OPENQUERY ([MYSQL-STAGE-STAGE], 'selecione * from etl_migrate_log onde table_name =' 'notas' ';');
- 或
SELECT * FROM OPENQUERY ([MYSQL-STAGE-STAGE], 'select * from etl_migrate_log') WHERE table_name = 'notes'
 
--2.INSERT 语句 , INTO 可 省略
INSERT INTO OPENQUERY ([MYSQL-STAGE-STAGE] , 'selecionar table_name, endtime de etl_migrate_log;') VALUES ('notes', now ())
 
--3.UPDATE 语句
UPDATE OPENQUERY ([MYSQL-STAGE-STAGE], 'selecionar table_name, endtime de etl_migrate_log onde table_name =' ' notas '' ') SET endtime = now ()
 
--4.DELETE ,, FROM 可 省略
DELETE FROM OPENQUERY ([MYSQL-STAGE-STAGE],' select * from etl_migrate_log onde table_name = '' notes '' '


DELETE FROM OPENQUERY ([MYSQL-STAGE-STAGE], 'select * from etl_migrate_log') WHERE table_name = @tablename

Diferença de estrutura e sintaxe

  1. , Tipo de dados Timestamp

    Ambos sqlserver e mysql têm um tipo de dados de carimbo de data / hora, mas sua implementação é bem diferente.

    No SQL Server, este tipo indica a ordem relativa de modificação dos dados no banco de dados.Seu valor é essencialmente um número crescente do tipo bigint, independente de hora e data, e o número não será relido no nível da instância do banco de dados.

    No mysql, este tipo indica a ordem relativa em que a modificação dos dados ocorre no banco de dados.É essencialmente um tempo, que pode ser repetido no nível da tabela.

    A maior armadilha é que esse tipo de campo é o campo-chave do nosso negócio, usado para que os usuários extraiam dados do servidor.

    A solução final é migrar os dados deste campo do servidor sql para o mysql de acordo com o valor de bigint, o mysql adiciona um tipo de dados timastamp e o programa adiciona um mecanismo de julgamento.

    2. Conjunto de caracteres e expressões de emoji

    Por padrão, as expressões de emoji podem ser salvas diretamente no sqlserver. O processo de migração não percebeu o problema. O problema foi descoberto depois que os dados históricos foram migrados.

    É necessário usar utf8mb4 para salvar esses dados no mysql.

    3. O índice não pode exceder o tamanho

    O comprimento do índice no mysql não pode exceder 767 bytes! ! !

    Este só pode ser um tipo de dados otimizado.

    Por exemplo, alguns campos salvam o macid do dispositivo, o tipo de dado é varchar (50), após investigação, verifica-se que o macid possui apenas 12 bits, que podem ser modificados para varchar (12).

    E se int pode ser alterado para tinyint ou smallint, pode latin1 ser usado em vez de utf8 (é claro que é melhor usar utf8 uniformemente), etc.

    Aqui está principalmente a otimização de tipos de dados e haverá um artigo especial para introduzir a otimização de tipo de dados posteriormente.

    4. Tipo Varchar (max)

    O MySQL não tem esse tipo de dados e o tipo de texto é obrigatório no MySQL.

    5. Sintaxe comum incompatível

    Um dos sqlserver usa top para buscar as primeiras linhas de dados, e mysql usa limit para completar esta função. Isso é relativamente fácil de modificar.

    Os dois métodos de uso de tabelas temporárias são diferentes.

    6, recursão CTE

    Em operações onde há uma consulta recursiva, o sqlserver possui um ótimo recurso que é a consulta recursiva CTE.

    7, consulta de janela

    A função over window no sqlserver também é um recurso que eu gosto muito, como classificação de agrupamento, intervalo de agrupamento e outras consultas.

Acho que você gosta

Origin blog.csdn.net/cheerlh2018/article/details/106686026
Recomendado
Clasificación