background image

 

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; 

 

用户输入文章时,通过选择下拉菜单选定文章分类

 

写出如何实现这个下拉菜单