柔情似水 发表于 2015-1-16 22:14:16

MYSQL网页编程之疾速进门SQL界说存储历程

如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。  SQL存储历程在SQL数据库顶用途普遍,上面为您先容怎样界说SQL存储历程,假如您是刚打仗SQL数据库的用户,无妨一看,但愿对您进修SQL存储历程有所匡助。


CREATEPROCEDUREget_tableinfoASifnotexists(select*fromdbo.sysobjectswhereid=object_id(N.)andOBJECTPROPERTY(id,NIsUserTable)=1)createtabletablespaceinfo--创立了局存储表(nameinfovarchar(50),rowsinfoint,reservedvarchar(20),datainfovarchar(20),index_sizevarchar(20),unusedvarchar(20))deletefromtablespaceinfo--清空数据表declare@tablenamevarchar(255)--表称号declare@cmdsqlvarchar(500)DECLAREInfo_cursorCURSORFORselecto.namefromdbo.sysobjectsowhereOBJECTPROPERTY(o.id,NIsTable)=1ando.namenotlikeN#%%orderbyo.nameOPENInfo_cursorFETCHNEXTFROMInfo_cursorINTO@tablenameWHILE@@FETCH_STATUS=0BEGINifexists(select*fromdbo.sysobjectswhereid=object_id(@tablename)andOBJECTPROPERTY(id,NIsUserTable)=1)executesp_executesqlNinsertintotablespaceinfoexecsp_spaceused@tbname,N@tbnamevarchar(255),@tbname=@tablenameFETCHNEXTFROMInfo_cursorINTO@tablenameENDCLOSEInfo_cursorDEALLOCATEInfo_cursorGO<Pstyle="TEXT-INDENT:2em">
RDBMS并非没有局限性。它们难以扩展,需要大量的资源来配置和维护,比如时间、硬件和人力。同样,它们往往遵循峰值性能模型,这就要求系统按照峰值容量来配置可用性,而不考虑典型的数据使用情况。

仓酷云 发表于 2015-1-19 05:49:49

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

飘灵儿 发表于 2015-1-25 14:58:23

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

admin 发表于 2015-2-2 22:35:35

是要和操作系统进行Socket通讯的场景。否则建议慎重!

透明 发表于 2015-2-8 18:08:48

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

只想知道 发表于 2015-2-25 22:11:24

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

再现理想 发表于 2015-3-8 09:02:46

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

灵魂腐蚀 发表于 2015-3-15 22:05:16

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

柔情似水 发表于 2015-3-22 06:07:14

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
页: [1]
查看完整版本: MYSQL网页编程之疾速进门SQL界说存储历程