Mostrando postagens com marcador Sybase IQ. Mostrar todas as postagens
Mostrando postagens com marcador Sybase IQ. Mostrar todas as postagens

segunda-feira, 24 de agosto de 2015

Diferença entre DML , DDL , DCL e TCL


DML
DML é abreviação de Data Manipulation LanguageEle é usado para recuperar, armazenar, modificar, apagar, inserir e atualizar dados no banco de dados, ou seja, utilizado para gerenciamento de dados do esquema.
Exemplos de comandos: SELECT, INSERT, UPDATE, DELETE, MERGE, LOCK TABLE, CALL, EXPLAIN

DDL
DDL é abreviação de Data Definition LanguageEle. é usado para criar e modificar a estrutura dos objetos de banco de dados.
Exemplos de comandos: CREATE, ALTER, DROP, ROLES, COMMENTS, RENAME, TRUNCATE.

DCL
DCL é abreviação de Data Control LanguageEle é usado para criar permissões e integridade referencial e também é usado para controlar o acesso a banco de dados.
Exemplo de comandos: GRANT, REVOKE
TCL
TCL é abreviação de Transactional Control LanguageEle é usado para gerenciar diferentes operações que ocorrem dentro de um banco de dados (Mudanças realizadas dor DML).
Exemplo de comandos: COMMIT, ROLLBACK, SAVEPOINT.

Obrigado

quarta-feira, 13 de fevereiro de 2013

Order by–Nulos primeiro

 

Como realizar a ordenação de uma massa de dados trazendo primeiro os registros cujo a coluna possui valores nulos?

No exemplo abaixo será ordenado pela coluna de nome do cliente trazendo primeiro os valores nulos.

Oracle:

SELECT CdNotaFiscal, NmCliente
FROM NOTAFISCAL
ORDER BY NmCliente NULLS FIRST

Sql Server \ Sybase:

SELECT CdNotaFiscal, NmCliente
FROM NOTAFISCAL
ORDER BY CASE WHEN NmCliente IS NULL THEN 'A' ELSE NmCliente END

Obrigado

sexta-feira, 31 de agosto de 2012

Locks – Sybase IQ

Para vericar os Objetos com lock no Banco de dados SYBASE IQ, utilizamos a seguinte procedure:

sp_iqlocks ([connection,] [[owner.] table_name] max_locks,] [sort_order])

Name Type Descrição

connection

Integer

Retorna os bloqueis do ID da conexão. O padrão é zero, que retorna informações sobre todas as conexões.

owner.table_name

char(128)

Nome da tabela. Com esta opção, a procedure retorna informações sobre bloqueios somente da tabela. O padrão é NULL, que retorna informações sobre todas as tabelas do banco de dados.

max_locks

Integer

Número máximo de bloqueios que devem ser exibidos. O padrão é 0, que retorna todas as informações de bloqueio.

sort_order

char(1)

Ordem de retorno dos bloqueios:
Tipo C por conexão (padrão)
Tipo T por table_name

 

Ao ser executada a procedure de acordo com os parametros acima podemos analisar as seguintes informações:

Coluna Tipo Descrição

conn_name

VARCHAR(128)

Nome da conexão atual

conn_id

INTEGER

ID da conexão com lock

user_id

CHAR(128)

Usuário causador do lock

table_type

CHAR(6)

O tipo da tabela:

  • BASE – para tabela
  • GLBTMP – para tabela temporária Global
  • MVIEW – para materialized view

creator

VARCHAR(128)

Owner da tabela

table_name

VARCHAR(128)

Nome da tabela com Lock

index_id

INTEGER

ID do indice

lock_class

CHAR(8)

Tipo do Lock.

  • S – Share
  • SW – Share and Write
  • EW – exclusive and Write
  • E – exclusive
  • P – Phantom
  • A – Antiphantom
  • W – Write
  • T – The lock is with respect to a sequencial scan
  • * – the lock is with respect to all scans
  • nnn – Index number; the lock is with respect to a particular index

lock_duration

 

CHAR(11)

Duração do bloqueio

lock_type

CHAR(9)

Identifica o lock (table, procedure,view)

row_identifier

UNSIGNED BIGINT

Identifica a linha

 

Exemplo a seguir foi executada a procedure sem a passagem de parametros, ou seja, neste caso serão utilizados os valores default:

sp_iqlocks
conn_name  conn_id  user_id  table_type  creator  table_name   =========  =======  =======  ==========  =======  ==========   con1       70187172 'mary'   BASE        DBA       t1         


index_id lock_class  lock_duration  lock_type  row_identifier
======== ==========  =============  =========  ==============
ASIQ_IDX Table       Position       Table      1
Fonte - http://infocenter.sybase.com
[]s

quinta-feira, 26 de julho de 2012

Recomendação de Indíce por número de valores exclusivos – Sybase IQ

No Sybase IQ, os índices são otimizados de acordo com o número de valores destintos que se interagem. Quando este número chega a certos níveis, a escolha do índices deve ser realizada de acordo com as recomendações contidas a seguir:

Número de valores exclusivos

Tipo índice recomendado

Abaixo de 1.000

LF (HG Se a tabela tem <25.000 linhas)

1000 ou mais

HG e/ou HNG

Aqui estão alguns exemplos de colunas com diferentes números de valores exclusivos:

  • Colunas que armazenam o estado civil tem apenas alguns valores exclusivos (solteiro, casado, NULL)
  • Colunas que armazenam nomes de estado ou Cidade tem menos de 100 valores exclusivos
  • Colunas que armazenam dados de data, provavelmente, tem mais de 100 mas menos de 65536 valores exclusivo
  • Colunas que armazenam números de conta e números de segurança social podem ter milhares ou milhões de números únicos

[]s

terça-feira, 10 de julho de 2012

Sybase IQ – Tipos de Índice

Quando você carregar dados em uma tabela, o Sybase IQ fisicamente armazena dados por coluna e não por linha. Em um ambiente de data warehousing é de costume olhar atributos específicos de milhares ou milhões de linhas de dados, ao invés de linhas completas.

Além de índices de coluna, o Sybase IQ permite que você crie índice de joins. Join indexes são criados para otimizar consultas entre tabelas.

O conjunto de índices definido para uma determinada coluna pode ter um impacto dramático na velocidade de processamento de consulta. Há quatro principais critérios para a escolha de índices:

• Número de valores exclusivos
• Tipos de consultas
• A utilização de espaço em disco
• Tipos de dados

Lembre-se também que todas as colunas são automaticamente armazenados em uma maneira que facilita projeções rápidas.

Tipos de Índices:

Tipo de Indice Propósito

Comparação (CMP)

Armazena a comparação binária (<,> =, <=,> =, ou NE) de quaisquer duas colunas com tipos idênticos de dados, precisão e escala.

DATE

Um índice em colunas de dados DATE tipo usado para processar consultas que envolvam data.

Datetime (DTTM)

Um índice em colunas de dados DATETIME ou TIMESTAMP tipo usados ​​para processar consultas data e hora.

High_Group (HG)

Um índice B-tree para processar a igualdade e do grupo através de operações sobre dados de alta cardinalidade. (Recomendado para mais de 1.000 valores distintos ou para uma tabela com menos do que 25.000 linhas.)

High_Non_Group (HNG)

Um índice bitmap (não baseado em valor) ideal para a maioria das operações de cardinalidade alta DSS envolvendo intervalos ou agregados.

Low_Fast (LF)

Índice Bitmap baseada em valor para o processamento de consultas sobre cardinalidade baixa de dados. (Recomendado para até 1.000 valores distintos e mais de 25.000 linhas na tabela. Pode suportar até 10.000 valores distintos.)

TIME

Um índice em colunas de dados Time tipo usado para processar consultas que envolvam tempo.

WD

Utilizado para palavras-chave de índice, tratando o conteúdo de um CHAR, VARCHAR, LONG VARCHAR ou coluna como uma lista delimitada.

Join Indexes Índice entre campos chaves utilizados nos joins entre tabelas

Nos próximos posts iremos ver em detalhes cada um dos tipos de índices mencionados acima

Fonte: http://infocenter.sybase.com

[]s

segunda-feira, 23 de janeiro de 2012

Identificar a versão do Sybase IQ

Podemos identificar a versão do BD do Sybase IQ através da seguinte consulta:

select @@version

[]s