精通plotnine:仅为特定数据组添加误差条
2026/1/9 1:17:54
在数据库运维和开发中,SQL 慢查询是常见难题。很多人以为必须改写 SQL 才能优化性能,其实不然。通过外围手段(索引、参数、架构等),不改 SQL 也能让查询速度提升百倍甚至千倍。
本文结合 SQL 示例,系统梳理 “不改SQL”优化全景图。
没有索引时,SQL 常常全表扫描;加上索引后,性能提升立竿见影。
示例:
-- 原始慢SQL:查询特定客户在2023年的订单 SELECT * FROM orders WHERE customer_id = 123 AND order_date > '2023-01-01';-- 添加复合索引 CREATE INDEX idx_customer_order_date ON orders(customer_id, order_date);优化后,数据库能直接定位数据,不再全表扫描。
调整数据库参数,优化执行计划。
MySQL 示例:
-- 调整 InnoDB 缓冲池大小(配置文件 my.cnf) innodb_buffer_pool_size = 4G; -- 提高排序缓冲区 sort_buffer_size = 8M;PostgreSQL 示例:
-- 提高共享内存缓存 ALTER SYSTEM SET shared_buffers = '2GB'; -- 提高统计采样精度 ALTER SYSTEM SET default_statistics_target = 200;