变相怪杰 发表于 2015-1-16 22:16:47

MSSQL教程之用SQL语句天生带有小计算计的数据集剧本...

BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继利用SQL语句天生带有小计算计的数据集:
测试用户:scott
测试用表:dept,emp
//////////////////////////////////
//检索出必要举行统计的数据集
selectdept.dname,emp.job,salfromemp,dept
whereemp.deptno=dept.deptno;
//////////////////////////////////
//依据部门称号和职位举行汇总,并为每一个部门
天生小计,最初天生算计.
select
decode(grouping(dept.dname),1,算计:,dept.dname)dname,
decode(grouping(emp.job)+grouping(dept.dname),1,小计:,emp.job)job,sum(sal)sum_salfromemp,deptwhereemp.deptno=dept.deptnogroupbyrollup(dept.dname,emp.job);
运转了局以下:
SQL>selectdept.dname,emp.job,salfromemp,d
DNAMEJOBSAL
---------------------------------
RESEARCHCLERK800
SALESSALESMAN1600
SALESSALESMAN1250
RESEARCHMANAGER2975
SALESSALESMAN1250
SALESMANAGER2850
ACCOUNTINGMANAGER2450
RESEARCHANALYST3000
ACCOUNTINGPRESIDENT5000
SALESSALESMAN1500
RESEARCHCLERK1100
DNAMEJOBSAL
---------------------------------
SALESCLERK950
RESEARCHANALYST3000
ACCOUNTINGCLERK1300

已选择14行。

SQL>select
2decode(grouping(dept.dname),1,算计:,de
3decode(grouping(emp.job)+grouping(dept.d
eptwhereemp.deptno=dept.deptnogroupbyrol

DNAMEJOBSUM_SAL
---------------------------------
ACCOUNTINGCLERK1300
ACCOUNTINGMANAGER2450
ACCOUNTINGPRESIDENT5000
ACCOUNTING小计:8750
RESEARCHANALYST6000
RESEARCHCLERK1900
RESEARCHMANAGER2975
RESEARCH小计:10875
SALESCLERK950
SALESMANAGER2850
SALESSALESMAN5600

DNAMEJOBSUM_SAL
---------------------------------
SALES小计:9400
算计:29025

已选择13行。

SQL>
因此,我们的第一个“米”,就是二进制日志binlog必须是rowbased的。在rowbase下,二进制日志binlog同时记录了更新前后的整行记录。

活着的死人 发表于 2015-1-19 06:31:23

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

小魔女 发表于 2015-1-25 16:31:03

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。

小妖女 发表于 2015-2-3 10:46:42

原来公司用过MYSQL自己也只是建个表写个SQL

第二个灵魂 发表于 2015-2-8 20:19:07

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

精灵巫婆 发表于 2015-2-26 04:27:42

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

柔情似水 发表于 2015-3-8 12:01:07

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

莫相离 发表于 2015-3-15 22:33:40

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

冷月葬花魂 发表于 2015-3-22 17:27:18

大侠们有推荐的书籍和学习方法写下吧。
页: [1]
查看完整版本: MSSQL教程之用SQL语句天生带有小计算计的数据集剧本...