
正文
sqlserver用with变慢,sqlserver突然特别慢
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver修改多条数据很慢
首先应该确定是谁慢的,往往是程序处理方面的问题而不是数据库的问题。程序方面应该尽可能的减少数据查询返回的内容,减少IO压力,磁盘IO和网络IO是非常非常慢的。
原因是数据库使用一段时间后,需要对数据碎片进行清理。sqlserver存储中,被频繁更新的数据、索引,在长时间使用过程中会产生很多不连续的存储块,需要多次IO才能取到数据,这就是碎片。
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) I/O吞吐量小,形成了瓶颈效应。 没有创建计算列导致查询不优化。
指的是在SSMS里面执行么?如果是文件的话,直接用导入操作。
逐条插入效率很低,你可以考虑用批量插入提高效率。也可以使用导入功能,把数据导入,效率也很高。
貌似没办法。唯一能做的就是把表索引加上。所以与其把思路放在更新这么多个项目上。
相关问答
Q1: SQLServer优化方法有哪些
1、要解决SQLServer占内存过多的问题,可以调整最大服务器内存设置、优化查询、建立适当的索引以及定期维护数据库。 调整最大服务器内存设置 SQL Server 使用内存来缓存数据,以便快速检索。
2、表格连接(Join)操作当语句需要两张表做连接的时候,SQLServer 常常会选择 Nested Loop 或 Hash 算法。算法的完成要运行 CPU,所以 join 有时候也会带来 CPU 使用比较集中的地方。
3、建立索引 建立存储过程 只查询您所需要的数据,不要把所有数据都查询出来,防止数据冗余。
4、SQLServer占用内存过高的原因是SQLServer本身内存回收机制做的不好。SQLServer运行越久,占用内存会越来越大。解决方法:在程序里面启动SQLServer2008,系统登录,右键点击服务名,选择“属性”。
5、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号)清理删除日志。SQL语句优化的基本原则:使用索引来更快地遍历表。缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。
Q2: 如何解决SQLServer数据库查询速度慢
1、a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。
2、**索引**:这是提高查询性能的最常用策略。索引的使用可以大大减少数据库搜索记录的数量。**避免全表扫描**:尽量避免在具有大量数据的表中进行全表扫描,特别是在关联查询时。
3、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
4、对于数据可以参照下面几点 优化SQL语句,SQL语句对查询速度影响最大的 对于经常查询的字段作索引。但是这样会增加修改时的压力 优化SQLServer,比如给其分配固定的内存,预先分配查询内存,调整CPU使用率等。
5、而数据库一旦使用了【OR】条件做查询的话,索引就不会用到了,因此就会造成查询过慢。建议:SELECT 。。WHERE DELETE_FLAG=RUNION SELECT 。。WHERE DELETE_FLAG=XUNION SELECT 。。
6、对视图操作比直接对表操作慢,可以用stored procedure来代替她。特别的是不要用视图嵌套,嵌套视图增加了寻找原始资料的难度。我们看视图的本质:它是存放在服务器上的被优化好了的已经产生了查询规划的SQL。
Q3: withtablenolock速度慢
内存不足网络速度慢查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
锁竞争:WITH(TABLOCK)会在查询期间对整个表进行锁定,这导致其他并发的查询或事务需要等待锁释放才能执行,从而导致速度变慢。
sqlserver用with变慢的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sqlserver突然特别慢、sqlserver用with变慢的信息别忘了在本站进行查找喔。





