一、Ajax调用的时候,get、post有什么区别?
答:get和post都是向服务器发送一种请求,只是发送机制不同
1 GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。
2.首先是”GET方式提交的数据最多只能是1024字节”,Post传输的数据量大,可以达到2M。
3.get方式请求数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号密码等。在某种情况下,get方式会带来严重的安全问题。而post方式相对来说就可以避免这些问题。
4.Post请求必须设置Content-Type值为application/x-form-www-urlencoded;
5.发送请求时,因为Get请求的参数都在url里,所以send函数发送的参数为null,而Post请求在使用send方法时,却需赋予其参数;
二、数据库查询 select跟用具体字段查询,哪个性能好些?
mysql 5.1.37
表记录数41,547,002,即4000w行
使用远程客户端取1000条数据,统计时间:
SELECT * FROM dmsp.dmsp_dimension_content LIMIT 0, 1000;
时间2.218s,网络消耗0.547s
SELECT id, appid, aop, t, uid, sid, pid, pname, bid, bname, ptype, sm, sv, bt, national, area, ov FROM dmsp.dmsp_dimension_content LIMIT 0, 1000;
取出所有字段,时间2.250s,网络消耗0.578s
多次查询(改变limit条件避免缓存),时间变化不大。
结论:两者差别几乎可忽略。所以查询所有字段(或者大多数字段)的时候,大可select *来操作。如果某些不需要的字段数据量特别大,还是写清楚字段比较好,因为这样可以减少网络传输。
(1)SELECT *,需要数据库先 分析,Query Table Metadata For Columns,一定程度上为数据库增加了负担。
但是实际上,两者效率差别不大。
(2)考虑到今后的扩展性。
因为程序里面你需要使用到的列毕竟是确定的, SELECT * 只是减少了一句 SQL String 的长度,并不能减少其他地方的代码。
综上:除平时练习使用,其他情况都不推荐使用 SELECT * FROM xxx
原文:https://blog.csdn.net/u014305991/article/details/44964171
三、linq的where 和select输出格式有什么不同?
四、返回类型 Actionresult 的方法可以重载吗? 返回的类型有哪几种?
答:不能被重载。
五、.net 怎么实现事务?
在 ado.net 中实现事务。需要使用事务管理的情况很多,在数据层使用得特别广泛,几乎每一个系统的数据层都会实现事务。数据层的事务都是继承自DBTransaction,派生自IDbTransaction的。
1、 在传统的ADO.NET中使用事务, 启动事务,设定SQLCommand 的事务和连接对象,try 赋值完成提交,catch 数据回滚
2、在DataContext中使用事务,方法极其相似,不同的是SqlCommand中事务为SqlTransaction,在DataContext中事务为DbTransaction
https://www.cnblogs.com/leslies2/archive/2012/01/05/2289106.html
六、对数据库作业有经验吗?
打开数据库,
找到SQL Server代理>作业,首先代理是要启动的,如果没有启动,请先将其启动,
点击右键,再点击”新建作业“,在”常规“里面填写作业名称,可以加上作业描述,比如改作业是做什么的。
点击左边导航条中的“步骤”,再点击下边的”新建作业“
在填出框中的”常规“属性里面填写步骤名称,类型一般默认,运行身份不用填写,选择你要执行操作的数据库,在下面那个白色大框里面填写要执行的数据库代码
在”高级“里面可以根据需要进行设置,设置好后就点击保存
接下来就是比较重要的设置工作了,点击左边导航栏的”计划“项,点击下方的”新建“
根据自己的需求勾选选项,选好后点击”确定“。最重要的就是上面那些,左边其他选项可以根据自己的需要进行设定
https://jingyan.baidu.com/album/08b6a591adc39314a909224e.html?picindex=1
七、数据库优化方面有什么了解?
数据库性能优化主要包括以下几个方面:
1、sql语句的执行计划是否正常;
2、减少应用和数据库的交互次数、同一个sql语句的执行次数;
3、数据库实体的碎片的整理;
4、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力;
5、对访问频繁的数据,充分利用数据库cache和应用的缓存;
6、数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能。
八、SQL,得到成绩最高的人的名字
SELECT name FROM dbo.StudentScore WHERE score = (
select MAX(score) from StudentScore )
九、了解索引吗?
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
聚集索引,非聚集索引,联合索引,索引覆盖。
聚集索引(clustered index):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primary key来约束。
https://www.cnblogs.com/spectrelb/p/7197593.html
十、前端怎么引用包?
配置引用路径
11、url简化?
12、二维码怎么生成?
13、session 和token 和cookie
十四、面向对象的三个基本特征
答:封装,继承,多态
十五、ActionResult 可以有几种返回值类型
1.返回ViewResult视图结果,将视图呈现给网页
2.返回PartialViewResult部分视图结果,主要用于返回部分视图内容
3.返回ContentResult用户定义的内容类型
4.返回JsonResult序列化的Json对象(主要用于返回json格式对象,可以用ajax操作;)
5.返回JavaScriptResult可在客户端执行的脚本
6.返回FileResult要写入响应中的二进制输出,一般可以用作要简单下载的功能
7.返回Null或者Void数据类型的EmptyResult
8.重定向方法:Redirect / RedirectToAction / RedirectToRoute
16、对.net 机制十分了解
17、行转列 ,学生,成绩,月份
静态SQL,指月份只有一月和二月
select * from StudentScore
pivot (max(score) /*行转列后 列的值*/
for months /*需要行转列的列*/
in (一月,二月) ) /*列的值*/
b
动态,不止1月和2月
declare @sqla varchar(8000)
select @sqla = isnull(@sqla + ',' , '') + months from StudentScore group by months
exec ('select * from StudentScore pivot (max(score) for months in (' + @sqla + ')) b')