PHP 修炼【三】

45 篇文章 0 订阅

普通索引 关注这个列

唯一索引 主键

多列索引 关注多个列   例:多列索引 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加载
页面输出到浏览器: 浏览器缓存

缓存中的推和拉
推:在数据变更时即变更强制更新缓存。
拉:在用户请求时创建或更新缓存。
两种模型应当混合使用,以求最佳效果。

访问频率高 数据变化少的 用缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值