该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官:如果某个表有近千万数据,CRUD比较慢,如何优化?
当某个表存在近千万数据且CRUD(增删改查)操作比较慢时,可以考虑以下优化策略:
- 使用索引:索引能够加速查询操作,特别是对于经常用于 WHERE、JOIN 或 ORDER BY 子句的列。在该表中为频繁查询的列创建合适的索引,可以大大提高查询性能。但需要注意,过多的索引可能会影响写操作的性能,因此需要谨慎评估索引的数量和选择。
举例:假设有一个用户表 user,其中的 username 字段用于经常查询,那么可以为 username 字段创建索引,加快查询速度。
- 分区表:将大表分割成多个较小的分区表,可以提高查询速度。通过将数据按照某个规则(如日期范围、区域等)进行分区,可以减少每次查询需要扫描的数据量。
举例:假设有一个订单表 order,按照订单生成日期进行分区,可以将表分割成多个子表 order_2020、order_2021、order_2022,这样在查询时只需要扫描对应的分区表,提高查询速度。
- 垂直拆分表:将表按照字段的关系和使用频率进行拆分,将经常使用的字段和不经常