首先应该确定是谁慢的,往往是程序处理方面的问题而不是数据库的问题。
成都服务器托管,创新互联提供包括服务器租用、成都多线服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、域名与空间等业务的一体化完整服务。电话咨询:18980820575
程序方面应该尽可能的减少数据查询返回的内容,减少IO压力,磁盘IO和网络IO是非常非常慢的。比如可以查询返回ID,然后再根据ID一条一条的查询具体内容,看似慢了,在数据量大的时候快很多
对于数据可以参照下面几点
1、优化SQL语句,SQL语句对查询速度影响最大的
2、对于经常查询的字段作索引。但是这样会增加修改时的压力
4、优化SQLServer,比如给其分配固定的内存,预先分配查询内存,调整CPU使用率等。SQL Server 可以占用几乎所有Windows的内存,但是申请内存开销很大。因此可以设定其使用固定大小内存,比如启动就分配1G以上内存。
5、优化硬件资源,比如使用更高的服务器或者硬盘,独立安排数据库的数据文件和索引文件,将数据文件分布于不同的物理硬盘上等等
6、考虑使用分布数据库或者对大表进行拆分
可能是因为系统的临时数据库tempdb满了,或者是被阻塞之类的
重新启动一下数据库(在控制面板的服务里面重新启动sqlserver),应该就好了。sqlserver每次启动都会重新建立tempdb表。
慢的三个原因,IOPS,CPU,内存,锁。
数据库默认是占满内存做缓存的,如果你有2个不同的数据库,内存不分配好,就出现争用内存的情况。
CPU一般建议80%左右,索引、大逻辑查询,count等统计信息都是走CPU,CPU高肯定慢。
IOPS,就是写入速度,如果经常批量写数据,批量查数据,或者直接全部数据读取后给前端处理,IOPS不足就会影响数据吞吐形成等待。
锁,也就是事务,大量事务会出现枪锁情况,这个情况也会等待,甚至死锁。
数据库最主要的就是数据库设计冗余,还是sql语句之类的,还有就是用存储过程比一般的sql语句快等到;其次就是编程代码的问题,例如if
else
if
else
if
else这个判断的,如果用switch的话就会快很多
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款