量运算,就是尽量减少在客户端进行大数据量的循环操作,而用 语句或者存储过程
代替。关于思想和意识,很难说得很清楚,需要在编程过程中来体会。
下面罗列一些编程阶段需要注意的事项:
、 只返回需要的数据
返回数据到客户端至少需要数据库提取数据、网络传输数据、客户端接收数据以及客户端
处理数据等环节,如果返回不需要的数据,就会增加服务器、网络和客户端的无效劳动,
其害处是显而易见的,避免这类事件需要注意:
、横向来看,不要写 $的语句,而是选择你需要的字段。
、 纵向来看,合理写 % 子句,不要写没有 % 的 语句。
、 注意 后的 % 子句,因为 把数据插入到临时表,
这个过程会锁定一些系统表,如果这个 % 子句返回的数据过多或者速度太慢,会造
成系统表长期锁定,诸塞其他进程。
、对于聚合查询,可以用 子句进一步限定返回的行。
、 尽量少做重复的工作
这一点和上一点的目的是一样的,就是尽量减少无效工作,但是这一点的侧重点在客户端
程序,需要注意的如下:
、 控制同一语句的多次执行,特别是一些基础数据的多次执行是很多程序员很少
注意的。
、 减少多次的数据转换,也许需要数据转换是设计的问题,但是减少次数是程序
员可以做到的。
、 杜绝不必要的子查询和连接表,子查询在执行计划一般解释成外连接,多余的
连接表带来额外的开销。
、 合并对同一表同一条件的多次 ,比如
&'(%(%)'(#*(
&'(&(%)'(#*(
这两个语句应该合并成以下一个语句
&'(%(+'(&(,,
%)'(#*(