
一、三层架构的分析
答:MVC(模型-视图-控制器)
视图(View)代表用户交互界面.
模型(Model):就是业务流程/状态的处理以及业务规则的制定,业务模型还有一个很重要的模型那就是数据模型.
控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求.
二、get 与 post的区别
答:Get:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。
Post:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能:
1:对现有资源的解释
2:向电子公告栏、新闻组、邮件列表或类似讨论组发信息。
3:提交数据块
4:通过附加操作来扩展数据库
get是把参数数据队列加到提交表单ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
三、数据库查询优化:
1、多态性,多种数据库兼容;
2、支持翻页,支持查询总数,页码显示;
3、能处理100万以上数据量;
答:
CREATE PROCEDURE dbo.LSP_SP_SelectElementByPage
@SelectFields varchar(200),/*要查询的字段列表*/
@Condition varchar(300),/*查询条件*/
@PageSize int =20,/*页面大小,默认为20*/
@PageNumber int =1/*页号,默认为第一页*/
/*@PageCount int out返回满足条件的总页数*/
AS
begin
declare @count int
select @count =count(*) from lsp_t_elementInfo
if(@count %@PageSize=0)
set @count = @count/@PageSize
else
set @count = @count/@PageSize +1
select @count PageCount
select IDENTITY(int,1,1) as iid,ElementName,Type into #temptable from LSP_T_ElementInfo
select * from #temptable where iid between @PageSize * (@PageNumber -1) and @PageSize * @PageNumber
end
GO
四、数据库的高级查询:
A B
| course |
| id |
| name |
| location |
| time |
| student |
| id |
| name |
| age |
| xk |
| sid |
| cid |
| score |
答:select name from B where id not in (select cid from C )
2、读出所修人数超过100人的课程;
答:select name from B where id in (select cid from C group by cid having count(sid) > 100 )
3、列出所有课程的名称以及所修人数;
答:select name as 课程名,count(sid) as 人数
from B,C
where B.id = C.cid
group by name
4、怎样提高查询速度;
答:用存储过程,数据量太大了,尽量分页查询,增加数据冗语,把常用的数据集中在1到2个表中。
