查询的识别:在sql中插入注释,有助于辨别查询在程序中的位置。注释也有助于判断单独应用对服务器曹成的负载有多大。
保持数据库连接稳定:
建立一个新的数据库连接,既快又方便,但是这其中往往掩藏着重复建立数据库连接带来的巨大开销,所有管理数据库连接必须非常小心。
我简单举个小例子:
假如现在又一百条数据要插入到数据库。我们分几种情况进行插入数据。
1. 一次对每一行连接/中断 每秒7.4行。
2. 连接一次,所有行逐个插入 每秒1687行。
3. 连接一次,以十行为一组插入 每秒5914行。
4. 连接一次,以一百行一组插入,每秒9190行。
上面数据明显说明了尽量减少分别连接数据库的次数的重要性。上述1和4几乎相差1200倍。那为什么有如此大的性能提升呢?
数据库要为每次session建立环境以便跟踪他的行为。在建立新的session前,DBMS还要检验密码是否与保存的加密的账户密码相符。或许还要执行登录触发器,还要初始化存储过程和程序包(如果第一次被调用),这些操作在每次连接的时候都会执行。所以保持永久数据库连接对性能是非常重要的。通常用数据库连接池。而且程序和DBMS核心之间的上下文切换也有代价。
将大批量数据的处理 分割成多次“小块处理”是个坏主意,尽量用一个sql语句处理问题最好