11.6. Classes de operadores

A definição do índice pode especificar uma classe de operadores para cada coluna do índice.

CREATE INDEX nome ON tabela (coluna classe_de_operadores [, ...]);

A classe de operadores identifica os operadores a serem utilizados pelo índice para esta coluna. Por exemplo, um índice B-tree no tipo int4 utiliza a classe int4_ops; esta classe de operadores inclui funções de comparação para valores do tipo int4. Na prática, a classe de operadores padrão para o tipo de dado da coluna é normalmente suficiente. O ponto principal de existir classes de operadores é que, para alguns tipos de dado, pode haver mais de um comportamento do índice que faça sentido. Por exemplo, pode-se desejar ordenar o tipo de dado do número complexo tanto pelo valor absoluto quanto pela parte real, o que pode ser feito definindo duas classes de operadores para o tipo de dado e, depois, selecionando a classe apropriada ao definir o índice.

Existem, também, algumas classes de operadores nativas além das classes padrão:

A consulta a seguir mostra todas as classes de operadores definidas:

SELECT am.amname AS index_method,
       opc.opcname AS opclass_name
    FROM pg_am am, pg_opclass opc
    WHERE opc.opcamid = am.oid
    ORDER BY index_method, opclass_name;

Podendo ser estendida para mostrar todos os operadores incluídos em cada classe:

SELECT am.amname AS index_method,
       opc.opcname AS opclass_name,
       opr.oprname AS opclass_operator
    FROM pg_am am, pg_opclass opc, pg_amop amop, pg_operator opr
    WHERE opc.opcamid = am.oid AND
          amop.amopclaid = opc.oid AND
          amop.amopopr = opr.oid
    ORDER BY index_method, opclass_name, opclass_operator;

Notas

[1]

collation; collating sequence — Um método para comparar duas cadeias de caracteres comparáveis. Todo conjunto de caracteres possui seu collation padrão. (Second Informal Review Draft) ISO/IEC 9075:1992, Database Language SQL- July 30, 1992. (N. do T.)

[2]

SQL Serverintercalação (collation) — é um conjunto de regras que determina como os dados são comparados, ordenados e apresentados. Os dados caractere são classificados de acordo com a informação de intercalação, que inclui o idioma, a ordem de classificação e a diferenciação de letras minúsculas e maiúsculas. SQL Server 2005 Books Online — Glossary of Terms (N. do T.)

[3]

collation é uma classificação apropriada para o idioma. Collation (N. do T.)

[4]

collation — [informática, computadores] — s. intercalação, f. collation | Portuguese | Dictionary & Translation by Babylon (N. do T.)

SourceForge.net Logo CSS válido!