仓酷云

标题: MSSQL教程之用SQL语句天生带有小计算计的数据集剧本... [打印本页]

作者: 变相怪杰    时间: 2015-1-16 22:16
标题: 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
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
作者: 小魔女    时间: 2015-1-25 16:31
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
作者: 小妖女    时间: 2015-2-3 10:46
原来公司用过MYSQL自己也只是建个表写个SQL
作者: 第二个灵魂    时间: 2015-2-8 20:19
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
作者: 精灵巫婆    时间: 2015-2-26 04:27
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
作者: 柔情似水    时间: 2015-3-8 12:01
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
作者: 莫相离    时间: 2015-3-15 22:33
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者: 冷月葬花魂    时间: 2015-3-22 17:27
大侠们有推荐的书籍和学习方法写下吧。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2