仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1123|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计MYSQL到ORACLE法式迁徙的注重事项

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:18:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学校并没有那么多的时间可以让我们在实际开发上面。mysql|oracle|法式   作者:余枫

有良多使用项目, 刚起步的时分用MYSQL数据库根基上能完成各类功效需求,跟着使用用户的增多,数据量的增添,MYSQL垂垂地呈现不胜重负的情形:毗连很慢乃至宕机,因而就有把数据从MYSQL迁到ORACLE的需求,使用法式也要响应做一些修正。自己总结出以下几点注重事项,但愿对人人有所匡助。

1. 主动增加的数据类型处置
MYSQL有主动增加的数据类型,拔出纪录时不必操作此字段,会主动取得数据值。ORACLE没有主动增加的数据类型,需求创立一个主动增加的序列号,拔出纪录时要把序列号的下一个值赋于此字段。

CREATE SEQUENCE 序列号的称号 (最好是表名+序列号标志) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
个中最大的值按字段的长度来定, 假如界说的主动增加的序列号 NUMBER(6) , 最大值为999999
INSERT 语句拔出这个字段值为: 序列号的称号.NEXTVAL

2. 单引号的处置
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在拔出和修正字符串前必需做单引号的交换:把一切呈现的一个单引号交换成两个单引号。

3. 翻页的SQL语句的处置
MYSQL处置翻页的SQL语句对照复杂,用LIMIT 入手下手地位, 纪录个数;PHP里还可以用SEEK定位到了局集的地位。ORACLE处置翻页的SQL语句就对照繁琐了。每一个了局集只要一个ROWNUM字段标明它的地位, 而且只能用ROWNUM<100, 不克不及用ROWNUM>80。
以下是经由剖析后较好的两种ORACLE翻页SQL语句( ID是独一关头字的字段名 ):
语句一:
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 前提1 ORDER BY 前提2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 前提3;

语句二:
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE 前提1 ORDER BY 前提2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 前提3;

4. 长字符串的处置
长字符串的处置ORACLE也有它特别的中央。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 假如要拔出更长的字符串, 请思索字段用CLOB类型,办法借用ORACLE里自带的DBMS_LOB法式包。拔出修正纪录前必定要做停止非空和长度判别,不克不及为空的字段值和超越长度字段值都应当提出正告,前往前次操作。

5. 日期字段的处置
MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只要DATE,包括年代日时分秒信息,用以后数据库的体系工夫为SYSDATE, 准确到秒,或用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)年-月-日 24小时:分钟:秒 的格局YYYY-MM-DD HH24:MI:SS TO_DATE()还有良多种日期格局, 可以参看ORACLE DOC.日期型字段转换成字符串函数TO_CHAR(‘2001-08-01’,’YYYY-MM-DD HH24:MI:SS’)

日期字段的数学运算公式有很大的分歧。MYSQL找到离以后工夫7天用 DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离以后工夫7天用 DATE_FIELD_NAME >SYSDATE - 7;

6. 空字符的处置
MYSQL的非空字段也有空的内容,ORACLE里界说了非空字段就不允许有空的内容。按MYSQL的NOT NULL来界说ORACLE表布局, 导数据的时分会发生毛病。因而导数据时要对空字符停止判别,假如为NULL或空字符,需求把它改成一个空格的字符串。

7. 字符串的恍惚对照
MYSQL里用 字段名 like '%字符串%',ORACLE里也能够用 字段名 like '%字符串%' 但这类办法不克不及利用索引, 速度不快,用字符串对照函数 instr(字段名,'字符串')>0 会失掉更准确的查找了局。

8. 法式和函数里,操作数据库的任务完成后请注重了局集和指针的释放。

  告诉你了一个方式,但是缺少努力这一环节,那也是白搭。
精灵巫婆 该用户已被删除
沙发
发表于 2015-2-4 11:01:58 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
山那边是海 该用户已被删除
板凳
发表于 2015-2-8 12:24:31 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
小女巫 该用户已被删除
地板
发表于 2015-2-25 10:48:30 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
分手快乐 该用户已被删除
5#
发表于 2015-3-7 19:50:19 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
兰色精灵 该用户已被删除
6#
发表于 2015-3-11 01:32:18 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
第二个灵魂 该用户已被删除
7#
 楼主| 发表于 2015-3-16 13:46:26 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
admin 该用户已被删除
8#
发表于 2015-3-22 23:10:45 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
只想知道 该用户已被删除
9#
发表于 2015-3-22 23:10:50 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
柔情似水 该用户已被删除
10#
发表于 2015-3-25 01:18:24 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-25 12:31:00 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-27 09:09:45 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
若天明 该用户已被删除
13#
发表于 2015-3-28 17:53:50 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
谁可相欹 该用户已被删除
14#
发表于 2015-4-4 15:17:24 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
蒙在股里 该用户已被删除
15#
发表于 2015-4-8 11:14:37 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
小妖女 该用户已被删除
16#
发表于 2015-4-8 16:49:03 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
愤怒的大鸟 该用户已被删除
17#
发表于 2015-4-16 05:00:11 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
若相依 该用户已被删除
18#
发表于 2015-4-16 16:56:02 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
再见西城 该用户已被删除
19#
发表于 2015-4-19 10:02:07 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-18 19:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表