MSSQL编程:经由过程视图修正数据时所应把握的基础原则...
MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。假设不利用INSTEADOF触发器或可更新分区视图而是经由过程视图来修正数据,那末再修正之前,请思索以下原则:◆假如在视图界说中利用了WITHCHECKOPTION子句,则一切在视图上实行的数据修正语句都必需切合界说视图的SELECT语句中所设定的前提。假如利用了WITHCHECKOPTION子句,修正行时需注重不让它们在修正完成后从视图中消散。任何大概招致行消散的修正城市被作废,并显现毛病信息。
◆SQLServer必需可以明白地剖析对视图所援用基表中的特定行所做的修正操纵。不克不及在一个语句中对多个基本表利用数据修正语句。因而,列在UPDATE或INSERT语句中的列必需属于视图界说中的统一个基表。
◆关于基本表中需更新而又不同意空值的一切列,它们的值在INSERT语句或DEFAULT界说中指定。这将确保基本表中一切必要值的列都能够猎取值。
◆在基本表的列中修正的数据必需切合对这些列的束缚,如为空性、束缚、DEFAULT界说等。比方,假如要删除一行,则相干表中的一切基本FOREIGNKEY束缚必需仍旧失掉满意,删除操纵才干乐成。
◆散布式分区视图(远程视图)不克不及利用键集驱动游标更新。此项限定可经由过程在基本表上而不在视图自己上声明游标失掉办理。
别的,假如在视图中删除数据:
◆在视图界说的FROM子句中只能列出一个表。
不克不及在视图中与text、ntext或image列一同利用READTEXT和WRITETEXT语句。
其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。 可以动态传入参数,省却了动态SQL的拼写。 Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。 其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?! 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
页:
[1]