AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-14694

Déjà vu's questions

Martin Hope
Déjà vu
Asked: 2022-11-11 04:26:35 +0800 CST

Replicação do MySQL 8: é possível especificar no lado mestre uma porta específica para replicação e apenas replicação (diferente do padrão 3306)

  • 6

Lado mestre.

No MySQL 8 para a replicação, é possível especificar uma porta específica do lado mestre para replicação e apenas uma replicação diferente do 3306 padrão ao qual os clientes regulares se conectam?

mysql
  • 1 respostas
  • 30 Views
Martin Hope
Déjà vu
Asked: 2022-11-11 03:32:25 +0800 CST

No nome do host do MySQL, o '%' em '%.exemple.com' também cobre o domínio principal 'exemple.com' ou apenas seus subdomínios?

  • 5

No nome do host do MySQL, o %in %.exemple.comcobre o domínio principal exemple.comtambém ou apenas seus subdomínios?

Por exemplo neste

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'rep'@'%.exemple.com';

o exemple.comdomínio também será permitido?

mysql
  • 1 respostas
  • 20 Views
Martin Hope
Déjà vu
Asked: 2022-01-06 20:23:03 +0800 CST

O carimbo de data/hora do MySQL 8.0 CURRENT_TIMESTAMP define a data como '0000-00-00 00:00:00' (estava ok em 5.7)

  • 0

A tabela T tem este campo

+---------------+--------------+------+-----+-------------------+-----------------------------+
| Field         | Type         | Null | Key | Default           | Extra                       |
+---------------+--------------+------+-----+-------------------+-----------------------------+
| updated       | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------------+--------------+------+-----+-------------------+-----------------------------+

No MySQL 5.7, fazer uma atualização de um registro e configuração updated=nullera definir automaticamente updateda data e hora atual

UPDATE T SET ...,updated=null WHERE k=123

==> 

+---------------------+
| updated             |
+---------------------+
| 2022-01-05 22:52:05 |
+---------------------+

Mas fazer o mesmo no MySQL 8.0, dá

+---------------------+
| updated             |
+---------------------+
| 0000-00-00 00:00:00 |
+---------------------+

Como posso corrigir isso, isso é um bug do MySQL ou uma nova configuração (ou uma mudança de comportamento)?

null mysql-8.0
  • 1 respostas
  • 1123 Views
Martin Hope
Déjà vu
Asked: 2021-12-26 19:02:07 +0800 CST

O tipo de carimbo de data/hora tem milissegundos (ocultos)?

  • 2

A updatedcoluna foi criada como

| updated | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

um simples SELECTdá

+---------------------+
| updated             |
+---------------------+
| 2021-12-25 00:15:47 |
+---------------------+

Infelizmente, updatednão foi criado como timestamp(3).

Existe alguma maneira de extrair mais precisão de updated? (o MySQL armazena mais precisão do que o segundo, mesmo que mostre apenas segundos?)

mysql-5.7 timestamp
  • 2 respostas
  • 2129 Views
Martin Hope
Déjà vu
Asked: 2021-03-22 17:34:10 +0800 CST

Na mesma consulta INSERT, dois VALUES sendo NOW() podem retornar um horário diferente?

  • 13

Eu encontrei uma consulta semelhante a

INSERT INTO mytable (id, Created, Updated) VALUES (null, NOW(), NOW())

tendo definições de coluna

| Created   | datetime |
| Updated   | datetime |

Neste caso, o MySQL definirá o valor NOW() para a hora atual e retornará os mesmos valores para ambas as chamadas, ou essa consulta correrá o risco (improvável) de ter dois horários ligeiramente diferentes para Created e Updated?

Observação : não consigo alterar os tipos de campo.

mysql query
  • 4 respostas
  • 2893 Views
Martin Hope
Déjà vu
Asked: 2020-06-16 05:41:37 +0800 CST

Comportamento do MySQL UUID()

  • 2

4 anos atrás, respondi uma pergunta no SO , "como definir um UUID para cada linha em massa".

Eu respondi, depois de tentar,

UPDATE table SET uuidcol = UUID();

Funcionou para mim, mas cerca de metade (ao que parece) das pessoas relatam que não funciona, dizendo que o ID é idêntico em todas as linhas.

Então, hoje, tentei novamente, descartando a cada vez a coluna e criando uma nova com um novo tipo, como

text, char(36), varchar(36)

e funcionou novamente, criando um UUID exclusivo por linha, a cada vez.

O que poderia fazer que não funcione para outras pessoas?
O motor por exemplo? (usando InnoDB no MySQL 5.7)

editar

Fez outro teste por

  • criando uma tabela simples tdeuu varchar(36)
  • inserindo 10.000.000 de linhas uucomnull
  • fiz oUPDATE t SET uu=UUID();

e todas as linhas de 10 milhões têm um UUID diferente e exclusivo .

mysql innodb
  • 3 respostas
  • 2960 Views
Martin Hope
Déjà vu
Asked: 2017-10-29 22:38:43 +0800 CST

Implementando uma consulta, dois tipos de estratégias

  • 1

As tabelas ainda não foram criadas, mas para simplificar existem as tabelas a groupse an . itemsUm grupo contém um id de item (e um id de grupo). E vários grupos podem conter o mesmo id de item.

Por exemplo

CREATE TABLE groups (
          gid int,
          iid int,
          primary key(gid,iid)
);
CREATE TABLE items (
          iid int primary key,
          label char(5)
);

e vamos colocar alguns dados neles, para ajudar a visualizar o próximo problema

insert into items values (1,"pen"),(2,"gum"),(3,"cat"),(4,"dog"),
                         (5,"hug"),(6,"art"),(7,"fun");

insert into groups values(1,1),(1,2),(1,3),(2,4),(2,5),(2,6),(3,1),
                         (3,4),(4,2),(4,3),(4,5),(4,6),(4,7);

Recuperar itens de vários grupos (por exemplo, grupos 1,2,3,4) usa a DISTINCTpara remover duplicatas

(1) SELECT DISTINCT i.iid,i.label FROM groups g JOIN items i ON g.iid=i.iid 
    WHERE g.gid in (1,2,3,4) ORDER BY i.iid;

Mas como as tabelas eventualmente conterão mais dados, essa consulta usando uma subconsulta seria mais eficiente

(2) SELECT i.iid,i.label FROM items i 
    JOIN (SELECT DISTINCT iid FROM groups WHERE gid IN (1,2,3,4)) AS s
    ON i.iid=s.iid ORDER BY i.iid;

já que distinctse aplica apenas aos ids dos itens, apesar da sobrecarga de usar uma subconsulta?

Ou este sugerido por @hypercube (ver comentários):

(3) SELECT i.iid,i.label FROM items AS i 
    WHERE EXISTS
       (SELECT * FROM groups AS g WHERE g.gid IN (1,2,3,4) AND i.iid=g.iid)
    ORDER BY i.iid

Para informação, eventualmente

  • a tabela de itens terá entre 50 a 100 mil linhas
  • um grupo provavelmente terá de 5 a 10 mil itens
  • os IDs de grupos a serem selecionados em uma única consulta estão no intervalo de 5 a 20
  • probabilidade de um item fazer parte de 2 grupos selecionados: 50%
  • probabilidade de um item fazer parte de 3 grupos selecionados: 30%
  • probabilidade de um item fazer parte de 4 grupos selecionados: 10%
mysql performance
  • 1 respostas
  • 49 Views
Martin Hope
Déjà vu
Asked: 2017-10-28 19:44:02 +0800 CST

Data da última alteração de uma estrutura de tabela InnoDB

  • 2

Eu queria saber como determinar quando foi a última alteração ( ALTER TABLE...) feita em uma determinada tabela.

Uma resposta antiga está disponível, mas infelizmente isso não funciona para tabelas InnoDB.

Isso funcionaria, olhando para a frmdata e hora do arquivo?

-rw-r-----   1 mysql    mysql       18622 Oct 24 21:07 mysql/data/mydb/mytable.frm
-rw-r-----   1 mysql    mysql     2114688 Oct 28 06:26 mysql/data/mydb/mytable.ibd

Oct 24 21:07parece corresponder aproximadamente à última vez que uma mudança na estrutura foi realizada.
Essa informação é confiável?

mysql innodb
  • 1 respostas
  • 1307 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve