php总结(3)
普通索引 关注这个列 唯一索引 主键 多列索引 关注多个列 例:多列索引 F1 F2 F3 单查F2或F3索引无效 索引是为了加快检索 数据库 第一范式: 一个表中的列应该是不可再分的,确保列的原子性 第二范式: 只有主键才能表现数据特征,而非主键列互不干涉,确保数据行的原子性 第三范式: 要求非主键列互不依赖,确保数据之间的依存对应关系只由不同表的主键完成,确保数据表的原子性。 不定范式: 基于第三范式,针对实际应用的性能所做的调整 尽量使设计符合第三范式,是基本要求。 是否实现不定范式,需要针对实际应用系统的需求。 数据库优化技巧: 定长表 数据分表:1.预拆表 效率高 运算快 2.自动拆表 收缩性强 mysql字符集应尽量与程序所采用的字符集对应 mysql查询优化:
尽量避免 leftjoin, union, group by
where子句所有涉及的字段都应该设置索引
order by 和group by子句所有涉及字段都要设置索引
where子句按解释顺序,每一条都应该过滤尽量多的记录 adodb-php写的
pdo-c写的 php5.2以后内置 缓存-空间换时间
常用query 建内存表 mysql默认连接数500 改大效率会低 网络系统中数据的流向
数据库检索 :经常要查询的表 放入内存表
程序读取
程序处理并拼装:拼装结果缓存 如排名
用户界面渲染 : 静态页面 变更频繁的可以用js加载
页面输出到浏览器: 浏览器缓存 缓存中的推和拉
推:在数据变更时即变更强制更新缓存。
拉:在用户请求时创建或更新缓存。
两种模型应当混合使用,以求最佳效果。 访问频率高 数据变化少的 用缓存
相关文档:
array array_diff
( array array1, array array2 [, array
...] )
array_diff()
返回一个数组,该数组包括了所有在 array1
中但是不在任何其它参数数组中的值。注意键名保留不变。
猛的一看这个方法,还以为是将两个数组中不同的返回来呢,事实上不是,返回的是在array1中的,但是不在其他数组中的。 ......
基本原理是:首先使mcrypt软件能够运行,然后安装php扩展模块,并在php.ini配置。
这里注意的是mcrypt软件依赖libmcrypt和mhash两个库,所以安装配置顺序从右至左
一,下载安装mcrypt
1.先去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包 ,下面是我找到的链接
Libmcrypt(libmcrypt-2.5.8.t ......
今天看到了一笔记上面是这么说的:
2. 不转意SQL输入
我曾经在一篇文章中最简单的防止sql注入的方法(php+mysql中)讨论过这个问题并给出了一个简单的方法 。有人对我说,他们已经在php.ini中将magic_quotes设置为On,所以不必担心这个问题,但是不是所有的输入都是从$_GET, $_POST或 $_COOKIE中的得到的!
如何修复:
和 ......
PHP 发送邮件
作者:w3pop.com 翻译/整理:w3pop.com 发布:2007-04-28 修改:2007-06-17 浏览:14208 :: ::
PHP Sessions
PHP allows you to send e-mails directly from a script.
PHP允许你通过脚本直接发送e-mail。
The PHP mail() Function
PHP mail()函数
The PHP m ......
【对象】-->分析的结果-->【原型】-->【类】 业务是对象与对象的交互 实体 非实体 更清晰的分析对象间的关系 行为用来描述原型 属性对应特征 接口是对一类原型或多类原型某一方面方法的规范 实例-对象的的具体,类的实例化的结果 面向对象的3个步骤 OOA--理清逻辑,找出原型 【对象】-->【原型】 OOD--根据原型,解 ......