如何加快读取数据库的速度??
解决方案 »
- Devexpress中gridcontrol绑定布尔值(0;1)怎么办。。。。
- asp.net与MysQL的问题,急求高手解决
- 网站在局域网测试是好的,上传就出错
- clickonce技术 部署 c#+sqlserver (webservice)问题
- C#怎么重新命名一个文件名 我想把 1.txt 重命名为 2.txt
- datagrid问题
- 又是DataGrid的问题
- 一个javascript的问题
- 水晶报表10如何进行部署(详细点好吗分不够再给),它跟水晶报表9有什么区别。
- winform下采用使用PUSH模式方式制作报表的问题。。。
- 产品分类 是怎么实现的? 谁有代码???
- gridview翻页
优化Sql NO
select *
缓存策略
比如一个用户表中有:username,password,sex,email,address,qq,birthday等字段,
假如只用到 username,password 两个字段的数据,那么sql语句就用
select username,password from table ,而不要用select * from table
sql语句每次调用都存在一个预编译过程.而存储过程只编译一次.
http://topic.csdn.net/u/20080808/14/5c354b26-3556-44f1-a1d7-bbaf53c7ead9.html
数据库的连接和关闭访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。 使用存储过程
存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。优化查询语句
ASP.NET中ADO连接消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。