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 / dba / 问题

All perguntas(dba)

Martin Hope
ErikE
Asked: 2016-11-18 14:39:48 +0800 CST

Fonte autoritativa que <> e != são idênticas em desempenho no SQL Server

  • 89

Considere esta resposta no SO que tranquiliza o questionador sobre o <>operador que:

<>é ... o mesmo que !=.

Mas então um comentarista se intromete e diz:

É verdade que eles são, funcionalmente, os mesmos. No entanto, como o otimizador SQL os usa é muito diferente. =/!= são simplesmente avaliados como verdadeiro/falso, enquanto <> significa que o mecanismo precisa verificar se o valor é maior ou menor, o que significa mais sobrecarga de desempenho. Apenas algo a considerar ao escrever consultas que podem ser caras.

Estou confiante de que isso é falso, mas, para abordar os céticos em potencial, me pergunto se alguém pode fornecer uma fonte autorizada ou canônica para provar que esses operadores não são apenas funcionalmente iguais, mas idênticos em todos os aspectos.

sql-server performance
  • 4 respostas
  • 17469 Views
Martin Hope
user664833
Asked: 2014-01-03 11:55:02 +0800 CST

Qual é o search_path para um determinado banco de dados e usuário?

  • 88

Eu posso ver a corrente search_pathcom:

show search_path ;

E eu posso definir o search_pathpara a sessão atual com:

set search_path = "$user", public, postgis;

Além disso, posso definir permanentemente o search_pathpara um determinado banco de dados com:

alter database mydb set search_path = "$user", public, postgis ;

E posso definir permanentemente o search_pathpara uma determinada função (usuário) com:

alter role johnny set search_path = "$user", public, postgis ;

Mas eu gostaria de saber como determinar quais são as configurações do banco de dados e da funçãosearch_path (com relação a ) antes de alterá-las?

postgresql configuration
  • 3 respostas
  • 156182 Views
Martin Hope
Stéphane
Asked: 2013-07-16 20:07:10 +0800 CST

Como insiro uma linha que contém uma chave estrangeira?

  • 88

Usando PostgreSQL v9.1. Tenho as seguintes tabelas:

CREATE TABLE foo
(
    id BIGSERIAL     NOT NULL UNIQUE PRIMARY KEY,
    type VARCHAR(60) NOT NULL UNIQUE
);

CREATE TABLE bar
(
    id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
    description VARCHAR(40) NOT NULL UNIQUE,
    foo_id BIGINT NOT NULL REFERENCES foo ON DELETE RESTRICT
);

Digamos que a primeira tabela fooseja preenchida assim:

INSERT INTO foo (type) VALUES
    ( 'red' ),
    ( 'green' ),
    ( 'blue' );

Existe alguma maneira de inserir linhas barfacilmente referenciando a footabela? Ou devo fazê-lo em duas etapas, primeiro procurando o footipo que desejo e inserindo uma nova linha em bar?

Aqui está um exemplo de pseudo-código mostrando o que eu esperava que pudesse ser feito:

INSERT INTO bar (description, foo_id) VALUES
    ( 'testing',     SELECT id from foo WHERE type='blue' ),
    ( 'another row', SELECT id from foo WHERE type='red'  );
postgresql foreign-key
  • 3 respostas
  • 428597 Views
Martin Hope
somecallmemike
Asked: 2013-03-29 08:23:23 +0800 CST

Qual banco de dados poderia lidar com o armazenamento de bilhões/trilhões de registros?

  • 83

Estamos procurando desenvolver uma ferramenta para capturar e analisar dados de fluxo de rede, dos quais coletamos uma quantidade enorme. A cada dia, capturamos cerca de 1,4 bilhão de registros de fluxo que ficariam assim no formato json:

{
   "tcp_flags": "0",
   "src_as": "54321",
   "nexthop": "1.2.3.4",
   "unix_secs": "1352234521",
   "src_mask": "23",
   "tos": "0",
   "prot": "6",
   "input": "105",
   "doctets": "186",
   "engine_type": "0",
   "exaddr": "2.3.4.5",
   "engine_id": "2",
   "srcaddr": "9.8.7.6",
   "dst_as": "12345",
   "unix_nsecs": "752265174",
   "sysuptime": "2943529544",
   "dst_mask": "24",
   "dstport": "80",
   "last": "2943523241",
   "srcport": "52672",
   "dpkts": "4",
   "output": "111",
   "dstaddr": "6.5.4.3",
   "first": "2943517993"
}

Gostaríamos de poder fazer pesquisas rápidas (menos de 10 segundos) no conjunto de dados, provavelmente em fatias estreitas de tempo (intervalos de 10 a 30 minutos). Também queremos indexar a maioria dos pontos de dados para que possamos fazer pesquisas em cada um deles rapidamente. Também gostaríamos de ter uma visão atualizada dos dados quando as pesquisas são executadas. Seria ótimo permanecer no mundo do código aberto, mas não nos opomos a buscar soluções proprietárias para este projeto.

A ideia é manter aproximadamente um mês de dados, o que seria ~43,2 bilhões de registros. Uma estimativa aproximada de que cada registro conteria cerca de 480 bytes de dados, equivaleria a ~18,7 terabytes de dados em um mês e talvez três vezes isso com índices. Eventualmente, gostaríamos de aumentar a capacidade desse sistema de armazenar trilhões de registros.

Nós avaliamos (basicamente) o couchbase, o cassandra e o mongodb como possíveis candidatos para este projeto, porém cada um propõe seus próprios desafios. Com o couchbase, a indexação é feita em intervalos e não durante a inserção dos dados, portanto as visualizações não estão atualizadas, os índices secundários do cassandra não são muito eficientes em retornar resultados, pois normalmente exigem a varredura de todo o cluster para obter resultados, e o mongodb parece promissor, mas parece ser muito mais difícil de dimensionar, pois é master/slave/sharded. Alguns outros candidatos que planejamos avaliar são elasticsearch, mysql (não tenho certeza se isso é aplicável) e alguns bancos de dados relacionais orientados a colunas. Qualquer sugestão ou experiência do mundo real seria apreciada.

sql-server mongodb
  • 5 respostas
  • 43751 Views
Martin Hope
Adam Matan
Asked: 2012-09-20 05:40:32 +0800 CST

MySQL: Criar índice Se não existir

  • 86

Existe uma maneira de criar um índice no MySQL se ele não existir?

MySQL não suporta o formato óbvio:

CREATE INDEX IF NOT EXISTS index_name ON table(column)
ERROR 1064 (42000): You have an error in your SQL syntax;...

A versão do MySQL ( mysql -V) é 5.1.48, mas acho que o MySQL não tem essa CREATE INDEX IF NOT EXISTcapacidade em todas as suas versões.

Qual é a maneira correta de criar um índice somente se ele ainda não existir no MySQL?

mysql index
  • 4 respostas
  • 146608 Views
Martin Hope
sorin
Asked: 2012-04-12 06:47:23 +0800 CST

Como descartar todas as conexões para um banco de dados específico sem interromper o servidor?

  • 83

Eu quero descartar todas as conexões (sessões) que estão abertas no momento para um banco de dados PostgreSQL específico, mas sem reiniciar o servidor ou desconectar conexões com outros bancos de dados.

Como eu posso fazer isso?

postgresql connections
  • 3 respostas
  • 217115 Views
Martin Hope
codecool
Asked: 2011-09-25 06:00:16 +0800 CST

Trabalho de índices no PostgreSQL

  • 89

Eu tenho algumas perguntas sobre o trabalho de índices no PostgreSQL. Tenho uma Friendstabela com o seguinte índice:

   Friends ( user_id1 ,user_id2) 

user_id1e user_id2são chaves estrangeiras para a usertabela

  1. Estes são equivalentes? Se não, então por quê?

    Index(user_id1,user_id2) and Index(user_id2,user_id1)
    
  2. Se eu criar a chave primária (user_id1,user_id2), ela cria automaticamente índices para ela e

    Se os índices na primeira pergunta não forem equivalentes, qual índice é criado no comando de chave primária acima?

postgresql index
  • 5 respostas
  • 36043 Views
Martin Hope
Jonas
Asked: 2011-06-14 00:20:20 +0800 CST

Como uso currval() no PostgreSQL para obter o último id inserido?

  • 85

tenho uma tabela:

CREATE TABLE names (id serial, name varchar(20))

Eu quero o "último id inserido" dessa tabela, sem usar RETURNING idna inserção. Parece haver uma função CURRVAL(), mas não entendo como usá-la.

Eu tentei com:

SELECT CURRVAL() AS id FROM names_id_seq
SELECT CURRVAL('names_id_seq')
SELECT CURRVAL('names_id_seq'::regclass)

mas nenhum deles funciona. Como posso usar currval()para obter o último id inserido?

postgresql sequence
  • 10 respostas
  • 286760 Views
Martin Hope
tuseau
Asked: 2011-04-28 02:39:23 +0800 CST

SQL Server Não é possível descartar o banco de dados <dbname> porque está em uso no momento... mas nenhuma sessão é exibida

  • 89

Quando tento descartar um banco de dados, recebo o erro "Não é possível descartar o banco de dados "dbname" porque está em uso no momento". No entanto, quando executo sp_who2, definitivamente não há sessões conectadas a esse banco de dados. Eu também configurei o banco de dados para single_user mode with rollback immediate.

Por que isso está acontecendo?

sql-server sql-server-2005
  • 6 respostas
  • 236841 Views
Martin Hope
Am1rr3zA
Asked: 2011-01-04 23:24:30 +0800 CST

Os procedimentos armazenados impedem a injeção de SQL?

  • 86

É verdade que os procedimentos armazenados impedem ataques de injeção SQL contra bancos de dados PostgreSQL? Pesquisei um pouco e descobri que SQL Server, Oracle e MySQL não são seguros contra injeção de SQL, mesmo que usemos apenas stored procedures. No entanto, esse problema não existe no PostgreSQL.

A implementação do procedimento armazenado no núcleo do PostgreSQL impede ataques de injeção de SQL ou é outra coisa? Ou o PostgreSQL também é suscetível à injeção de SQL, mesmo que usemos apenas procedimentos armazenados? Em caso afirmativo, mostre-me um exemplo (por exemplo, livro, site, papel, etc.).

postgresql security
  • 6 respostas
  • 12348 Views
Prev
Próximo

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