|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。记得刚入手下手进修Sql的时分,只晓得存储历程可以进步查询速率,却不晓得存储历程为何可以进步查询速率,觉得能写出为所欲为的存储历程真是太了不得了。转眼就过了好几年了,如今又想转头来收拾一下存储历程的长处。
我们在利用Transact-SQLt时,一样平常能够用以下两种办法来存储与实行Sql命令。
1,将Sql写在程序中,程序实行时向SqlServer发送sql语句及实行命令。
2,将Sql存在SqlServer中,创立实行存储历程来处置庞大了局.
实在,我们能够将任何一组sql语句都作为存储历程存起来,只是在实践项目中,这类办法太甚于机器。
上面我们切进正题:
存储历程的基础观点。
存储历程是Transact-SQL语句的预编译汇合,如许语句在一个称号下存储并作为一个编译事后的单位处置。正由于是预编译过的,以是在实行的时分就省往了编译的工夫。
在利用存储历程有以下几点上风:
1,同意模块化程序计划:
一个功效只必要创立一次,就能够被恣意次挪用,到达重用的目点,并且能够自力于程序修正(固然,这点有益也有弊,利固然是修正起来复杂,省往程序编译公布等历程,弊固然就是平安性成绩了,由于存储历程都是明文,也就是都表露在用户的眼下,简单被修正。)
2,可以进步实行速率:
后面有讲到,数据库引擎在创立存储历程的时分就会对其举行剖析和优化,并预编译好,并且能够在初次实行该历程后利用该历程在内存中的版本,如许就省往了不IO的工夫。而假如是运程程序中的Transact-Sql,它都是从客户端发送,而且每次都要编译和优化。
3,削减收集流量
将数百行的Sql代码放到一个单位中,在实行时,只必要发送一个实行单位称号的命令,而不必要发送数百行的代码,这在收集情况中,也能够省下很多工夫。
以上只是自己对存储历程的一些意见,固然在详细的利用过程当中,存储历程的感化远远不及这些,这都必要到详细的项目中往体味了。php本地模拟的prepare底层就是mysql_real_escape_string,所以必须得用mysql_set_character_set去设置mysql->charset,否则就存在字符集问题。 |
|