MST

星途 面试题库

面试题:MySQL关联查询性能优化之索引使用

假设有两张表,`orders` 表(包含字段 `order_id`,`customer_id`,`order_date` 等)和 `customers` 表(包含字段 `customer_id`,`customer_name` 等),现在要通过 `customer_id` 进行关联查询,获取每个订单对应的客户名称。请阐述在这种关联查询场景下,如何合理使用索引来优化性能,并给出创建索引的 SQL 语句。
36.1万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 索引优化分析
    • orders 表的 customer_id 字段上创建索引,这样在关联查询时,数据库可以快速定位到 orders 表中与 customerscustomer_id 匹配的行,减少全表扫描的开销。
    • customers 表的 customer_id 字段上创建索引,这有助于快速定位 customers 表中对应的客户信息,同样避免全表扫描。
  2. 创建索引的 SQL 语句
    • orders 表上创建索引:
CREATE INDEX idx_orders_customer_id ON orders (customer_id);
  • customers 表上创建索引:
CREATE INDEX idx_customers_customer_id ON customers (customer_id);