これはばかげているように見えるかもしれませんが、DBでインデックスに名前を付けるときに標準の命名法に固執しようとすると、最新のものは少し長くなり、すべてのDBと同様に、何らかの形でパフォーマンスに悪影響を及ぼす可能性があると思いました。インデックス名が実際にどこにどのように格納または使用されているのか、実際の列データと比較しているだけではわかりません。
たとえば、インデックスにepoid
とecm_products_options_product_id
?
後者は標準に近く、アプリケーション層での読み取りと識別が容易になります。
つまり、いいえ。
特にインデックスに言及するステートメントまたはインデックスに言及する出力を生成するステートメントの解析時間には非常に小さな違いがありますが、これは他のすべての作業と比較すると非常に小さいため、データベースエンジンが実行する他のすべての作業に比べて、ノイズです。小さすぎて確実に測定できません。
インデックス名が明示的に使用されていない場合、その違いさえなくなります。インデックスは、名前ではなく、データが含まれる列によって検索されます。エンジンがインデックスを直接参照する必要がある場合は、内部IDを使用してそれを行います-知っている名前は基本的に私たち人間だけのためです。
これを念頭に置いて、特に2番目のポイントでは、長い説明的な名前をお勧めします。ただし、注意点があります。名前を長くしすぎると扱いにくくなり、多くのツールは識別子の長さに任意の制限を課します。たとえば、SQL Serverはすべての名前を128文字に制限します(この制限に近づくと、おそらく遠すぎます!)しかし、いくつかのツール(他の点でも悪かった...)がヒットしたときに倒れる50を超える長さ。mySQLドキュメントには、状況に応じた内部名の長さ制限が記載されています。