仓酷云
标题:
MYSQL编程:oracle数据库优化
[打印本页]
作者:
不帅
时间:
2015-1-16 22:43
标题:
MYSQL编程:oracle数据库优化
事实上,在任何DBaaS中,解决方案提供商对如何管理物理资源都没有控制权,因此MySQL学习教程可能会发现由于DBaaS的局限性使得他们提供给客户的远远小于客户所期望的。oracle|数据|数据库|优化
优化就是选择最无效的办法来实行SQL语句。Oracle优化器选择它以为最无效的
办法来实行SQL语句。
1).ISNULL和ISNOTNULL
假如某列存在NULL值,即便对该列创建索引也不会进步功能。
2).为分歧的事情编写分歧的SQL语句块
为完成分歧的事情编写一年夜块SQL程序不是好办法。它常常招致每一个义务的了局不优
化。若要SQL完成分歧的事情,一样平常应编写分歧的语句块比编写一个要好。
3).IN和EXISTS
Selectnamefromemployeewherenamenotin(selectnamefromstudent);
Selectnamefromemployeewherenotexists(selectnamefromstudent);
第一句SQL语句的实行效力不如第二句。
经由过程利用EXISTS,Oracle会起首反省主查询,然后运转子查询直到它找到第一个婚配
项,这就节俭了工夫。Oracle在实行IN子查询时,起首实行子查询,并将取得的了局
列表寄存在一个加了索引的一时表中。在实行子查询之前,体系先将主查询挂起,待
子查询实行终了,寄存在一时表中今后再实行主查询。这也就是利用EXISTS比利用IN
一般查询速率快的缘故原由。
4).NOT运算符
Select*fromemployeewheresalary1000;
Select*fromemployeewheresalary<1000orsalary>1000;
第一句SQL语句的实行效力不如第二句,由于第二句SQL语句可使用索引。
5).OrderBy语句
OrderBy语句的实行效力很低,由于它要排序。应制止在OrderBy字句中利用表达式。
6).列的毗连
select*fromemployeewherename||department=’ZYZBIOINFO’;
select*fromemployeewherename=’ZYZ’anddepartment=’BIOINFO’;
这两个查询,第二句比第一句会快,由于关于有毗连运算符’||’的查询,Oracle优化器是不
会利用索引的。
7).通配符‘%’当通配符呈现在搜刮词首时,Oracle优化器不利用索引
Select*fromemployeewherenamelike‘%Z%’;
Select*fromemployeewherenamelike‘Z%’;
第二句的实行效力会比第一句快,但查询了局集大概会分歧。
8).应只管制止夹杂范例的表达式
假定字段studentno为VARCHAR2范例
有语句select*fromstudentwherestudentno>123;
则Oracle会有一个隐含的范例转换。隐含的范例转换大概会使Oracle优化器疏忽索引。
这时候应利用显式的范例转换select*fromstudentwherestudentno=to_char(123)。
9).DISTINCT
DISTINCT老是创建一个排序,以是查询速率也慢。对于IT经理来说,令他们喜欢的MySQL的简单性还有另一方面。MySQL可以运行的更快速。某些人或许会说MySQL缺少了一些人们想要的功能。
作者:
老尸
时间:
2015-1-19 21:47
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
作者:
再现理想
时间:
2015-1-25 21:31
呵呵,这就是偶想说的
作者:
小魔女
时间:
2015-2-4 03:54
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
作者:
分手快乐
时间:
2015-2-9 15:20
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
作者:
活着的死人
时间:
2015-2-27 08:37
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
作者:
简单生活
时间:
2015-3-8 23:50
呵呵,这就是偶想说的
作者:
再见西城
时间:
2015-3-16 19:09
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
作者:
乐观
时间:
2015-3-22 23:55
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2