很多朋友告诉我他数据库学得很好,对数据库的各类操作都相当熟练,没有难不到他们的SQL语句。然而他们写出的语句效率却并不是让人满意,一个读写就已经如此,要是成千上万频繁的数据库更新的话那个队列可能都要排到火星上去了。再者提到存储过程也是没人去做详细的了解,就更不提应用了。

  存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

  平常对于一条SQL语句需要先编译然后再执行,然后才能返回用户所需要的结果,但如果对于相同的SQL语句进行频繁多次的使用的话,每一次都重新编译然后执行,效率显然是大打折扣的。而正如百科里存储过程的介绍所说,能够将编译好的SQL语句存储在数据库中,之后每次调用便略过了编译这个步骤,只需要向存储过程传递参数(输入或输出)就能够得到用户需要的数据结果。当然,这对小量的数据库读写感觉不出来,但如果是大量的数据库操作,存储过程的优势就能够相当明显的体现出来。

  接下来我主要讲的是利用Visual C++对存储过程的调用。

Read more…