qual é a melhor prática na criação de um índice?
Exemplo 1:
createdd_at_indx (criado_at)
atualizado_em_indx (atualizado_em)
OU
exemplo 2:
date_indx (criado_em, atualizado_em)
qual é a melhor prática na criação de um índice?
Exemplo 1:
createdd_at_indx (criado_at)
atualizado_em_indx (atualizado_em)
OU
exemplo 2:
date_indx (criado_em, atualizado_em)
Aqui está um exemplo de consulta
qual é a coluna precisa considerar para colocar um índice? qual é a melhor indexação que pode ser aplicada por coluna ou várias colunas por índice?
Meu problema é que quando executo essa consulta demora muito para terminar
É sobre a complexidade da consulta ou indexação?
TIA!
SELECT
a.id
a.name AS name
CASE
WHEN a.status IS NULL THEN '1111'
WHEN a.status = '2222' THEN '3333'
WHEN a.status = '4444' THEN '5555'
ELSE a.status
END AS status,
a.updated_at
FROM a
LEFT JOIN b ON a.request_id = b.request_id
LEFT JOIN (
SELECT
DISTINCT ON (id) id,
name
FROM
aa
WHERE
updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND id IN (
SELECT id
FROM a
WHERE
updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND status NOT IN ('6666', '7777', '8888')
AND id LIKE '%%'
)
)
WHERE
a.updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND status NOT IN ('6666', '7777', '8888')
AND id LIKE '%%'
UNION
SELECT
z.id
z.name AS name
CASE
WHEN z.status IS NULL THEN '1111'
WHEN z.status = '2222' THEN '3333'
WHEN z.status = '4444' THEN '5555'
ELSE z.status
END AS status,
z.updated_at
FROM z
LEFT JOIN zb ON z.request_id = zb.request_id
LEFT JOIN (
SELECT
DISTINCT ON (id) id,
name
FROM
zz
WHERE
updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND id IN (
SELECT id
FROM z
WHERE
updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND status NOT IN ('6666', '7777', '8888')
AND id LIKE '%%'
)
)
WHERE
z.updated_at BETWEEN '2022-05-01 00:00:00' AND '2022-05-31 23:59:59'
AND status NOT IN ('6666', '7777', '8888')
AND id LIKE '%%'
Qual é o efeito de remover ou excluir um índice enquanto a tabela está sendo usada?
amostra:
a partir de
tabela: order_tbl índice: order_id_index (não btree)
para
precisa alterá-lo para index:order_id_index(btree)
há um impacto ou perda de dados durante/depois de excluir o índice?