总结
废话不多说,直接上干货总结如下:
1. 使用存储过程, (如果在程序里用exec 存储过程 参数,这样执行似乎并没有快多少)
在数据库里是预编译的,也不需要在字符串传输上花费大量时间。 防sql注入攻击。
2. 尽量优化数据库语句,使逻辑尽量简单。
@ 还有就是在使用函数时 charindex >like > padindex 效率依次递减。
@查询字段是否包含在以,分隔的字段串时,最好不要用in 速度非常慢。 还有好多,可以总结的,这里就不再描述了。
3. EnableViewState(页面的视图状态)。如果无特殊要求设置为false。
使用ViewState ,每个对象都必须先序列化到 ViewState 中,然后再通过回传进行反序列化,因此使用 ViewState是没有代价的。尽量减少使用对象,
如果可能,尽量减少放入 ViewState 中的对象的数目。下面情况基本上可以禁用viewstate:
(1)页面控件 (.ascx)
(2)页面不回传给自身。
(3)无需对控件的事件处理。
(4)控件没有动态的或数据绑定的属性值(或对于每个postpack都在代码中处理)
单个页面或每个页面都禁用 ViewState,如下所示:
单个页面:<%@ Page EnableViewState="False" %>
每个页面:在 web.config 中 <P