蒙在股里 发表于 2015-1-16 22:38:03

MYSQL教程之怎样疾速杀逝世占用过量资本(CPU,内存)的...

MySQL部署迅速,因此移植过程不会导致生产中断。而且,较短的学习曲线可以让你的系统管理员迅速掌握它的运行和维护。而且,MySQL的易于维护和管理意味着目前的职员可以处理目前的工作。历程|数据|数据库良多时分因为非常或程序毛病会招致一般历程占用大批体系资本,必要停止这些历程,一般可使用以下命令Kill历程:
altersystemkillsessionsid,serial#;
可是此命令开释资本极其迟缓,详细能够参考:Oracle中Killsession的研讨.
为了更疾速的开释资本,一般我们利用以下步骤来Kill历程:
1.起首在操纵体系级kill历程
2.在数据库外部killsession
如许一般能够疾速中断历程,开释资本。
明天就碰到如许一个案例,其他伴侣在数据库里killsession,但是长工夫仍有效果:
$sqlplus"/assysdba"
SQL*Plus:Release10.2.0.1.0-ProductiononThuOct2711:09:502005
Copyright(c)1982,2005,Oracle.Allrightsreserved.

Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OracleLabelSecurity,OLAPandDataMiningScoringEngineoptions
SQL>selectsid,username,statusfromv$session;
SIDUSERNAMESTATUS
------------------------------------------------
....
154SCOTTKILLED
...
30rowsselected.
那依照我后面提到的步骤,起首查询失掉该session对应的OS历程号:
SQL>selectkill-9||spidfromv$processwhereaddr=(selectpaddrfromv$sessionwheresid=&sid);
Entervalueforsid:154
old1:selectkill-9||spidfromv$processwhereaddr=(selectpaddrfromv$sessionwheresid=&sid)
new1:selectkill-9||spidfromv$processwhereaddr=(selectpaddrfromv$sessionwheresid=154)
KILL-9||SPID
--------------------
kill-922702
SQL>!
在操纵体系级kill该历程:
$ps-ef|grep22702
oracle2270210Oct25?00:00:02oracledanaly(LOCAL=NO)
oracle1208212063011:12pts/100:00:00grep22702
$kill-922702
$ps-ef|grep22702
oracle1208812063011:12pts/100:00:00grep22702
$exit
exit
SQL>selectsid,username,statusfromv$session;
SIDUSERNAMESTATUS
------------------------------------------------
...
154SCOTTKILLED
...
30rowsselected.
SQL>selectsid,serial#,usernamefromv$sessionwheresid=154;
SIDSERIAL#USERNAME
--------------------------------------------------
15456090SCOTT
再次在数据库中kill该session,并指定immediate选项:
SQL>altersystemkillsession154,56090immediate;
Systemaltered.
SQL>selectsid,serial#,usernamefromv$sessionwheresid=154;
norowsselected
使用DBaaS能让收入损失从其他业务上得到弥补,如软件更新和硬件管理。也许决定走DBaaS之路的客户可能会跳过解决方案提供商,尽管这个决策看起来有点短视。

莫相离 发表于 2015-1-19 19:44:31

大家注意一点。如下面的例子:

愤怒的大鸟 发表于 2015-1-28 10:05:27

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

admin 发表于 2015-2-5 20:29:27

发几份SQL课件,以飨阅者

兰色精灵 发表于 2015-2-13 13:13:44

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

再见西城 发表于 2015-3-3 21:46:24

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

分手快乐 发表于 2015-3-11 14:00:33

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

简单生活 发表于 2015-3-18 22:06:25

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

若天明 发表于 2015-3-26 19:36:17

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
页: [1]
查看完整版本: MYSQL教程之怎样疾速杀逝世占用过量资本(CPU,内存)的...