eigo的聊哥儿

内事不决问老婆,外事不决问Google!

拓磊ID:eigo
60103次访问,排名1710好友2人,关注者4
心沉下去
eigo的文章
原创 106 篇
翻译 1 篇
转载 34 篇
评论 48 篇
eigo的公告
最近评论
hunter15:收藏!顶~
thomax:大哥,我还是搞不定啊,可不可以帮帮我啦!!!!我的QQ:38180440
bugfree2.0rtm快速入门()非官方版:下载地址
http://www.cutesteel.com/train/softTrain.htm#bugfree
thomax:我想问题可能是出现在第5步,在创建数据库的时候.我怀疑创建时的一些参数设置不正确所引起的.在第6步中CONFIG.PHP的配置文件已经按照您指南中所讲的改过了,而且apache、mysql也都是running状态.:)可能因为我是新手吧,以后还要向您多多学习,同时也希望您能写出 STEP BY STEP 的安装教程来帮助与我一样的菜鸟们.
现在已经可以看到登陆界面啦,算是差不多成功……
eigo:首先,你得确保在第5步中创建的数据库名同在第6步中在config.php配置文件中的数据库名一致。另外,要运行taskfreak必须要连接到该数据库,所以得确保xamp处于启动状态(apache、mysql都是running状态)
再试试看

文章分类
收藏
    相册
    好开心,每天
    开发网站
    ASP.NET
    Atlas blog
    CSDN
    MSDN
    Tech On The Net
    大富翁
    猛烈推荐
    小枣的妈妈的博客
    我的摄影区
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 sql优化收藏

    新一篇: 体检归来! | 旧一篇: Oracle PL/SQL学习笔记

    Sql优化是一项复杂的工作,以下的一些基本原则是本人看书时所记录下来的,很明确且没什么废话:

    1.  索引的使用:

    1.当插入的数据为数据表中的记录数量的10%以上,首先需要删除该表的索引来提高数据的插入效率,当数据插入后,再建立索引。

    2.避免在索引列上使用函数或计算,在where子句中,如果索引是函数的一部分,优化器将不再使用索引而使用全表扫描。如:

    低效:select * from dept where sal*12 >2500;

    高效:select * from dept where sal>2500/12;

    (3).避免在索引列上使用not !=”,索引只能告诉什么存在于表中,而不能告诉什么不存在于表中,当数据库遇到not !=”时,就会停止使用索引而去执行全表扫描。

    (4).索引列上>=代替>

     低效:select * from emp where deptno > 3

     高效:select * from emp where deptno >=4

    两者的区别在于,前者dbms将直接跳到第一个deptno等于4的记录,而后者将首先定位到deptno等于3的记录并且向前扫描到第一个deptno大于3的。

    (5).非要对一个使用函数的列启用索引,基于函数的索引是一个较好的方案。

    2. 游标的使用:

       当在海量的数据表中进行数据的删除、更新、插入操作时,用游标处理的效率是最慢的,但是游标又是必不可少的,所以正确使用游标十分重要:

       (1). 在数据抽取的源表中使用时间戳,这样每天的维表数据维护只针对更新日期为最新时间的数据来进行,大大减少需要维护的数据记录数。

       (2). insertupdate维表时都加上一个条件来过滤维表中已经存在的记录,例如:

    insert into dim_customer select * from ods_customer where ods_customer.code not exists (dim_customer.code)

     ods_customer为数据源表。dim_customer为维表。

       (3). 使用显式的游标,因为隐式的游标将会执行两次操作,第一次检索记录,第二次检查too many rows这个exception,而显式游标不执行第二次操作。

    3.  据抽取和上载时的sql优化:

    (1). Where 子句中的连接顺序:

    oracle采用自下而上的顺序解析where子句,根据这个原理,表之间的连接必须写在其他where条件之前,那些可以过滤掉大量记录的条件必须写在where子句的末尾。如:

    低效:select * from emp e where sal>5000 and job = ‘manager’ and 25<(select count (*) from emp where mgr=e.empno);

    高效:select * from emp e where 25<(select count(*) from emp where mgr=e.empno) and sal>5000 and job=’manager’;

       (2). 删除全表时,用truncate 替代 delete,同时注意truncate只能在删除全表时适用,因为truncateddl而不是dml

       (3). 尽量多使用commit

    只要有可能就在程序中对每个delete,insert,update操作尽量多使用commit,这样系统性能会因为commit所释放的资源而大大提高。

       (4). exists替代in ,可以提高查询的效率。

       (5). not exists 替代 not in

       (6). 优化group by

    提高group by语句的效率,可以将不需要的记录在group by之前过滤掉。如:

    低效:select job, avg(sal) from emp group by job having job = ‘president’ or job=’manager’;

    高效: select job, avg(sal) from emp having  job=’president’ or job=’manager’ group by job;

       (7). 有条件的使用union-all 替代 union:这样做排序就不必要了,效率会提高35倍。

       (8). 分离表和索引

           总是将你的表和索引建立在不同的表空间内,决不要将不属于oracle内部系统的对象存放到system表空间内。同时确保数据表空间和索引表空间置于不同的硬盘控制卡控制的硬盘上。

    发表于 @ 2006年03月02日 21:16:00|评论(loading...)|编辑

    新一篇: 体检归来! | 旧一篇: Oracle PL/SQL学习笔记

    评论

    #wego 发表于2006-03-10 16:28:00  IP: 218.19.120.*
    TrackBack来自《sql优化》


    &nbsp;sql优化

    document.title="sql优化 - "+document.title


    &nbsp;
    Sql优化是一项复杂的工作,以下的一些基本原则是本人看书时所记录下来的,很明确且没什么废话:...
    #ddss 发表于2006-03-04 08:35:00  IP: 219.236.20.*
    收藏
    #dfsdfd 发表于2006-03-05 23:46:00  IP: 218.17.214.*
    www.source520.com 免费免注册80G源码书籍下载
    #P_B_Tony 发表于2007-06-26 10:39:58  IP: 218.80.200.*
    收藏了,谢谢
    #hunter15 发表于2008-08-05 13:48:30  IP: 218.97.176.*
    收藏!顶~
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © eigo