Skip to content

Commit b92fd1a

Browse files
authored
chore(sql): Add COLLATE NOCASE to some indexes on ahb_hierarchy_materialized for faster search
because ```sql ... WHERE LOWER(haystack_column) LIKE 'needle' ``` doesn't use the index and ```sql ... WHERE haystack_column LIKE 'needle' ``` is only case-insensitive for ASCII characters. See https://sqlite.org/optoverview.html#the_like_optimization
1 parent 459d355 commit b92fd1a

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/fundamend/sqlmodels/materialize_ahb_view.sql

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -474,28 +474,28 @@ CREATE INDEX idx_hierarchy_format ON ahb_hierarchy_materialized (format);
474474
CREATE INDEX idx_hierarchy_versionsnummer ON ahb_hierarchy_materialized (versionsnummer);
475475
CREATE INDEX idx_hierarchy_gueltig_von ON ahb_hierarchy_materialized (gueltig_von);
476476
CREATE INDEX idx_hierarchy_gueltig_bis ON ahb_hierarchy_materialized (gueltig_bis);
477-
CREATE INDEX idx_hierarchy_beschreibung ON ahb_hierarchy_materialized (beschreibung);
477+
CREATE INDEX idx_hierarchy_beschreibung ON ahb_hierarchy_materialized (beschreibung) COLLATE NOCASE;
478478
CREATE INDEX idx_hierarchy_kommunikation_von ON ahb_hierarchy_materialized (kommunikation_von);
479479
CREATE INDEX idx_hierarchy_edifact_format_version ON ahb_hierarchy_materialized (edifact_format_version);
480480
CREATE INDEX idx_hierarchy_segmentgroup_id ON ahb_hierarchy_materialized (segmentgroup_id);
481-
CREATE INDEX idx_hierarchy_segmentgroup_name ON ahb_hierarchy_materialized (segmentgroup_name);
481+
CREATE INDEX idx_hierarchy_segmentgroup_name ON ahb_hierarchy_materialized (segmentgroup_name) COLLATE NOCASE;
482482
CREATE INDEX idx_hierarchy_segmentgroup_position ON ahb_hierarchy_materialized (segmentgroup_position);
483483
CREATE INDEX idx_hierarchy_segment_id ON ahb_hierarchy_materialized (segment_id);
484-
CREATE INDEX idx_hierarchy_segment_name ON ahb_hierarchy_materialized (segment_name);
484+
CREATE INDEX idx_hierarchy_segment_name ON ahb_hierarchy_materialized (segment_name) COLLATE NOCASE;
485485
CREATE INDEX idx_hierarchy_segment_number ON ahb_hierarchy_materialized (segment_number);
486486
CREATE INDEX idx_hierarchy_segment_position ON ahb_hierarchy_materialized (segment_position);
487487
CREATE INDEX idx_hierarchy_dataelementgroup_id ON ahb_hierarchy_materialized (dataelementgroup_id);
488-
CREATE INDEX idx_hierarchy_dataelementgroup_name ON ahb_hierarchy_materialized (dataelementgroup_name);
488+
CREATE INDEX idx_hierarchy_dataelementgroup_name ON ahb_hierarchy_materialized (dataelementgroup_name) COLLATE NOCASE;
489489
CREATE INDEX idx_hierarchy_dataelementgroup_position ON ahb_hierarchy_materialized (dataelementgroup_position);
490490
CREATE INDEX idx_hierarchy_dataelement_id ON ahb_hierarchy_materialized (dataelement_id);
491-
CREATE INDEX idx_hierarchy_dataelement_name ON ahb_hierarchy_materialized (dataelement_name);
491+
CREATE INDEX idx_hierarchy_dataelement_name ON ahb_hierarchy_materialized (dataelement_name) COLLATE NOCASE;
492492
CREATE INDEX idx_hierarchy_dataelement_position ON ahb_hierarchy_materialized (dataelement_position);
493493
CREATE INDEX idx_hierarchy_dataelement_ahb_status ON ahb_hierarchy_materialized (dataelement_ahb_status);
494494
CREATE INDEX idx_hierarchy_code_id ON ahb_hierarchy_materialized (code_id);
495-
CREATE INDEX idx_hierarchy_code_name ON ahb_hierarchy_materialized (code_name);
496-
CREATE INDEX idx_hierarchy_code_description ON ahb_hierarchy_materialized (code_description);
497-
CREATE INDEX idx_hierarchy_code_value ON ahb_hierarchy_materialized (code_value);
498-
CREATE INDEX idx_hierarchy_code_ahb_status ON ahb_hierarchy_materialized (code_ahb_status);
495+
CREATE INDEX idx_hierarchy_code_name ON ahb_hierarchy_materialized (code_name) COLLATE NOCASE;
496+
CREATE INDEX idx_hierarchy_code_description ON ahb_hierarchy_materialized (code_description) COLLATE NOCASE;
497+
CREATE INDEX idx_hierarchy_code_value ON ahb_hierarchy_materialized (code_value) COLLATE NOCASE;
498+
CREATE INDEX idx_hierarchy_code_ahb_status ON ahb_hierarchy_materialized (code_ahb_status) COLLATE NOCASE;
499499
CREATE INDEX idx_hierarchy_code_position ON ahb_hierarchy_materialized (code_position);
500500
CREATE INDEX idx_hierarchy_path ON ahb_hierarchy_materialized (path);
501501
CREATE INDEX idx_hierarchy_id_path ON ahb_hierarchy_materialized (id_path);

0 commit comments

Comments
 (0)