求助,sql执行突然变慢,求助各位了

如题所述

到这个数量级的全部更新,肯定会很慢。
第一。你的记录不一定在同一个partition,
第二。不明白为什么那么多人建议你建索引,你建的索引越多,你的更新速度越慢,因为你更新记录的同时,还有更新索引。
第三。你必须知道更新速度慢的瓶颈在哪里。是读写太多,还是内存不够,还是CUP不够快,然后对症下药。
下面介绍两个简单的办法,也许有效:
第一:
把这个100W行的表纵向劈成两个,用外键关系连接,一个装小的,经常改变的数据比如ID,外键,状态值,时间等,另一个装大的,不经常改变的数据,比如很长的字符串,xml,text 等。
这样更新时操作小的这个表,可以大大节约内存和CPU 开销,降低磁盘操作。
坏处就是查询时会慢些。
第二:
把这100W行横向切成很多个表,比如每个月的记录装在一个表里,这样每个表的记录数可能只有几万,查询,更新都会快很多。
坏处是查询,更新都不如原来好写。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-15
你说的变慢了有很多因素,你不说明我只能给你个大概的信息,如果是SQL SERVER的话,有预读这样的机制来提高SQL SERVER的查询效率,预读就是说在生成执行计划的时候同步把物理表读入到系统的缓存中,这样可以减少IO。但是如果系统运行的时间长了,占用的缓存也就越大,也就会相应的影响系统的性能。当然这只是其中的一个可能,具体情况还得具体分析。本回答被提问者采纳
第2个回答  2017-08-15
打开数据连接也要花时间的

sql查询太慢如何优化
当SQL查询变得缓慢时,可以采取以下优化方法:1. 优化数据库索引:检查查询涉及的列是否有适当的索引,如果没有,可以考虑创建索引以提高查询性能。2. 减少JOIN操作:过多的JOIN操作可能导致查询变慢,可以考虑使用其他查询方式,如子查询或临时表来替代。3. 优化SQL语句:检查SQL语句是否存在低效写法,例如...

SQL:我为什么慢你心里没数吗?
读操作同样可能导致SQL变慢,例如未命中索引和读时的脏页问题。未命中索引意味着查询效率降低,而脏页的频繁出现则由于InnoDB的缓冲池策略导致,需要通过监控和调整参数来改善。预防措施包括使用explain分析SQL执行计划,确保索引的使用,并控制脏页比例和redo log写盘速度,以匹配硬件能力。了解这些原因和对策,...

SQL2000运行突然变慢
因为在使用过程中,索引会产生碎片,引响查询,你可以修复下索引。另外,sql 2000性能上有问题,数据量达到一定的时候,也会变慢。你可以考虑升级下数据库。或是删除部分不需要的历史记录。

sql server运行时间久了速度会变慢,如何解决?
不过如果我们强制选择这个索引(用 force index 语法),会看到 SQL 执行速度更快少于 10s,那是因为优化器基于代价的原则并不等价于执行速度的快慢;b. 再看执行计划中的 type:index,"index" 代表 “全索引扫描”,其实和全表扫描差不多,只是扫描的时候是按照索引次序进行而不是行,主要优点就是避...

如何解决SQL Server数据库查询速度慢
6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。 配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。运行 Microsoft SQL Server? 2000时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的1.5倍。如果另外安装了全文检索功能,并打算运行Microsoft搜索服务以便执行全文索引和查询,...

SQL数据库运行并不断变慢,但每次重启服务后就会恢复正常
建议LZ备份下数据,检测硬盘是否已经过保,检测硬盘是否有损坏。

sqlserver 数据库服务突然缓慢 重启后正常 运行的sql只有30多条_百度知...
数据库表是否建立合理的索引。因为主机长期在工作.数据会一上在增多..对于内存还有CPU来说不是所有数据都可以一次性的完全处理好。就会有一些"尾数"包括记录,然而越来越多,会让主机运行速度变慢。如果用好点的专用的服务器硬盘,内存会让主机更长时间的不用重启。所以SQL还是要用高一点的配置。

如何解决SQL Server查询速度缓慢的问题
配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。运行 Microsoft SQL Server? 2000 时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍。如果另外安装了全文检索功能,并打算运行 Microsoft 搜索服务以便执行全文索引和查询,可考虑:将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍...

sql执行的条件一样,只是多了几个查询列,为啥效率就变低了?
从执行计划中可以看到,增加字段前后查询的执行计划发生变化了,没有带A的字段时,A表有按索引查询,而带A表的字段之后,A表则未按索引查询,而是表扫描,这当然很耗时间了!经过反复试验都是如此,后来只好改变查询将获取A表的字段放到子查询中执行,才避免了速度变慢。对应此种情况,我们一般要改变...

mysql脏页是什么
当内存数据写入磁盘后,内存和磁盘上的数据页内容就一致了,这时我们称之为“干净页”。在常规的更新操作中,数据首先写入内存和日志,但并不会立即同步到磁盘数据,这时内存数据页与磁盘数据页内容不一致,就形成了“脏页”。有时,SQL语句执行速度会突然变慢,这可能是由于脏页正在同步到磁盘中。以下几...

相似回答