Urgent.News

What's breaking now, across thousands of outlets.

Tech

「先頭カラムが同じインデックス、それ1つ無駄ちゃう?」— 冗長インデックスの見つけ方と消し方

テーブルのインデックスを眺めていて、こんな2本が並んでいるのを見つけたことはないだろうか。 KEY `idx_logs_on_import_id` ( `import_id` ) UNIQUE KEY `idx_logs_on_import_id_and_file` ( `import_id` , `file_path` ) 結論から言うと、 上の単独インデックスはたいてい消せる 。この記事では「なぜ消せるのか」「本当に消していいのか(消せない例外)」「どう機械的に見つけるか」「安全な消し方」までを一通りまとめる。 なぜ「単独 (import_id) 」が冗長なのか ポイントは 複合インデックスの “左端プレフィックス(leftmost prefix)” は、単独インデックスとしても使える という B-Tree インデックスの性質だ。 (import_id, file_path)…

The article discusses the issue of redundant indexes in databases, specifically focusing on MySQL. It explains that a redundant index occurs when a single-column index is included in a composite index, which can be unnecessary as the single-column index can be used for lookups that the composite index can also satisfy. The article provides a method to identify and remove these redundant indexes using MySQL's standard view `sys.schema_redundant_indexes` or tools like `pt-duplicate-key-checker` and `sys.schema_unused_indexes`.

It also highlights the importance of not removing redundant indexes that are part of a foreign key constraint, as doing so can cause an error. The article concludes by demonstrating a safe way to drop a redundant index using ActiveRecord migration.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Also reported by 2 other outlets

Read the original at dev.to →

More in Tech

Day-1:Cloud Workshop

I Built and Deployed My First React Portfolio on AWS S3 + CloudFront — And Broke It Along the Way As a Computer Science student, I’ve been trying to move away from just writing code by following…

Supriya R

I recently deployed my personal portfolio website on Amazon Web Services (AWS) using Amazon S3 and Amazon CloudFront. The main goal of this deployment was to host my static website in the cloud and…

More from Tuesday 15 September →