MSSQL编程:PL/SQL进修条记(一)
在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。条记1、PL/SQL中的数据范例,简列以下:
Number[(m,n)]独一的数值范例。m-精度,n-小数位数。INTEGER、REAL是NUMBER的同义词界说的。
VARCHAR2(maxsize)独一的字符串范例。CHAR、VACHAR是VARCHAR2的同义词界说的。NVARCHAR2与VARCHAR2的体现情势一样,只是用于国际字符集数据范例。
DATE日期/工夫范例。
BOOLEAN布尔型。只要TRUE、FALSE两个值。
2、PL/SQL的实行体
DECLARE
--变量声明
BEGIN
--运转语句
EXCEPTION
--非常处置
END;
3、PL/SQL把持布局
1、IF-THEN-ELSIF布局
IF前提THEN
ELSIF前提THEN
ENDIF;
2、CASE布局
CASE
WHEN前提THEN
WHEN前提THEN
...
ELSE一切前提不满意时实行
END;
4、轮回布局(见教例)
DECLAREiINTEGER;BEGIN
DBMS_OUTPUT.PUT_LINE(LOOPOUTPUT);i:=0;LOOPEXITWHENi>=10;DBMS_OUTPUT.PUT_LINE(i);i:=i+1;ENDLOOP;DBMS_OUTPUT.PUT_LINE(WHILEOUTPUT);i:=0;WHILEi<10LOOPDBMS_OUTPUT.PUT_LINE(i);i:=i+1;ENDLOOP;DBMS_OUTPUT.PUT_LINE(FOROUTPUT);FORiIN1..10LOOPDBMS_OUTPUT.PUT_LINE(i);ENDLOOP;
EXCEPTIONWHENOTHERSTHENDBMS_OUTPUT.PUT_LINE(EXCEPTION);RAISE;END;/
InnoDB数据表的索引,与InnoDB数据表相比,在InnoDB数据表上,索引对InnoDB数据表的重要性要大得多。在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。 现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层. varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片? 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。 总感觉自己还是不会SQL 其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
页:
[1]