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加载
页面输出到浏览器: 浏览器缓存 缓存中的推和拉
推:在数据变更时即变更强制更新缓存。
拉:在用户请求时创建或更新缓存。
两种模型应当混合使用,以求最佳效果。 访问频率高 数据变化少的 用缓存
相关文档:
在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 session 的使用。
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 session 文件的权限,只保留 ......
一次Nginx+PHP+Mysql的并发测试经历
一、硬件环境
CPU:4核Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
6G内存,120G硬盘
二、软件环境
L ......
PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种
1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
ech ......
64位动态php扩展库的编译
工作上需要,这个问题折腾了一阵子。不过当编译成功之后,心里还是相当的兴奋,感受到了一种成就感。也是工作中的一种乐趣。
现在将整个过程写下来,以备后续之需。
a.shared object
(1) download and install the apache
从网络中下载apache-2.0.48.tar.gz
存至/home/tmp
cd /home/ ......
什么是SESSION? 按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效。常见的SESSION有:TCP SESSION、WEB SESSION(HTTP SESSION)、LOGIN SESSION等。 根据OSI模型中,会话实现的位置不同,SESSION主要分为几种,一种是应用层会话,包括WEB SESSION(HTTP SESSION)和tel ......