2 可以采取数据缓存的方法,我们通常在统计数据的时候,需要在原始数据的基础上经
过计算等一系列操作,才会得到最终的结果,如果每做一个查询都需要这样一系列操作 ,
当数据量大时,势必会带来很多问题。可以建立一个结果表,写一个脚本,用 crontab
定时触发脚本去原始表取数据,计算,写入到结果表,前端查询从结果表取数据,这也
是比较常用的一种做法。
3 采用分布式,多个 apache,多个 mysql,其实就是 dns 负载均衡,dns 根据当前用
户解析几个 ip 的 ping 值,将用户转移到某一台最快的服务器,或者平均分配。
4 money 不是问题的话,增加带宽和提升硬件性能也是一个选择!
面试题 3
一、PHP/MySQL
编程
1) 某内容管理系统中,表 message
有如下字段
id 文章 id
title
文章标题
content
文章内容
category_id 文章分类 id
hits
点击量
创建上表,写出 MySQL
语句
2)同样上述内容管理系统:表 comment
记录用户回复内容,字段如下
comment_id 回复 id
id 文章 id,关联 message 表中的 id
comment_content
回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的
排在最前面
文章 id
文章标题 点击量 回复数量
用一个 SQL 语句完成上述查询,如果文章没有回复则回复数量显示为 0
3) 上述内容管理系统,表 category
保存分类信息,字段如下
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单