,,,
,,,要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件时硬盘可能会是瓶颈点,为什么这些一般的工作我们能快速确认瓶颈点呢,因为我们对这些慢速设备的性能数据有一些基本的认识,如网络带宽是2 mbps,硬盘是每分7200转钟等等,因此,为了快速找到SQL的性能瓶颈点,我们也需要了解我们计算机系统的硬件基本性能指标,下图展示的当前主流计算机性能指标数据
,,,从图上可以看到基本上每种设备都有两个指标:
延时(响应时间):表示硬件的突发处理能力;
带宽(吞吐量):代表硬件持续处理能力。
,,,从上图可以看的出,计算机系统硬件性能从高到代依次为:
<强> CPU缓存(L1-L2-L3)——内存,SSD硬盘,网络,硬盘强>
,,,根据数据库知识,我们可以列出每种硬件主要的工作内容:
<强> CPU及内存:缓存数据访问,比较,排的序,事务检测,SQL解析,函数或逻辑运算;强>
<强>网络:结果数据传输,SQL请求,远程数据库访问(dblink); 强>
<强>硬盘:数据访问,数据写入,日志记录,大数据量排序,大表连接。强>
,
,,,根据当前计算机硬件的基本性能指标及其在数据库中主要操作内容,可以整理出如下图所示的性能基本优化法则: