Você está na página 1de 6

Database: PostgreSQL

Number Rows: 10.000

Search 1) Dumb search: ‘%A%’


Search 2) Default Filter Search: ‘BNX%’
Search 3) Default Filter Search with sorting: ‘BNX%’
4) Add Index in column name, and filter: ‘BNX%’

CREATE EXTENSION pg_trgm;


CREATE EXTENSION btree_gin;
CREATE INDEX firm_column_name ON firm USING btree (name text_pattern_ops);
5) Using INDEX search and sorting: ‘BNX%’
6) RESULTS:

String Search Use INDEX Sorting Execution Time (ms)

‘%A%’ NO NO 1.813

‘BNX%’ NO NO 1.141

‘BNX%’ NO YES 1.184

‘BNX%’ YES NO 0.029

‘BNX%’ YES YES 0.039

Analisando a diferença de tempo de uma busca simples, com 3 caracteres iniciais e ordenando.
Com a utilização do índice na coluna “name”, a busca tem um percentual de diferença de
tempo muito grande, de 1184 para 0.039, sendo uma redução de tempo de 96,7%.

Porém, para pouco volume de dados, o custo de manter o índice, impactando a cada nova
inserção ou exclusão, em relação a redução de tempo pode ser irrisório. Como nos dados
acima, diferença de 1.184 ms para 0.039 ms (0.001184 s para 0.000039 s).

Você também pode gostar