索引、执行计划与查询性能
SQL、业务数据建模与数据库实践#FDE#第五阶段#SQL、业务数据建模与数据库实践#索引、执行计划与查询性能约 561 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
索引为什么能改善某些查询?
追问 过滤、排序与覆盖查询分别有什么作用?写入、存储和维护会付出什么成本?
怎样为按空间、状态和创建时间查询设计索引?
追问 等值、范围和排序怎样影响列顺序?应如何用真实参数与计划验证?
复合索引中的最左前缀怎样影响使用?
追问 条件缺列、范围条件与排序各有哪些变化?为什么最终仍需检查实际计划?
EXPLAIN 应优先阅读哪些证据?
追问 访问方式、索引、估算行数和排序如何组合判断?仅看到使用索引为何不足以证明快?
EXPLAIN 与 EXPLAIN ANALYZE 有什么区别?
追问 估算与实际执行如何比较?执行前怎样确认语句范围、环境和潜在负载?
字段函数、转换与类型不一致怎样影响查询?
追问 时间过滤和字符数字比较如何检查?是否能改写条件而保持语义?
少量样例上很快,生产数据上慢,应怎样排查?
追问 数据量、选择性、关联分布与统计信息如何变化?怎样设计更有代表性的验证数据?
查询返回很多行时,成本只在数据库执行吗?
追问 读取、网络、对象构造和序列化怎样拆分?只选择必要列能减少哪些成本?
只读分析任务怎样影响线上事务?
追问 CPU、I/O、长快照和锁定查询有什么影响?怎样设置批量、预算和停止条件?
怎样证明一次 SQL 优化有效且正确?
追问 结果集合、排序、计划、耗时与资源怎样比较?换硬件或只选最好结果会削弱什么结论?