数据库优化方案
1、查询出的数据量过大(可以采⽤多次查询,其他的⽅法降低数据量),尽量采取分⻚查询数据。
2、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)。
3、返回了不必要的行和列
用OR的字句可以分解成多个查询,并且通过UNION链接多个查询。它们的速度只与是否使⽤用索引有关,如果查询需要⽤到联合索引,⽤UNION all执行的效率更高。
4、尽量将数据的处理工作放在服务器上,减少⽹络的开销,如使⽤存储过程。存储过程是编译、优化过,并且被组织到⼀个执行规划里,且存储在数据库中的SQL语句(存储过程是数据库服务器端的⼀段程序),是控制流语言的集合,速度当然快。
5、将需要查询的结果预先计算好放在表中,查询的时候再Select。
6、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。
7、⼀次更新多条记录比分多次更新每次一条快,就是说批处理好
8、数据库内所有表结构均添加索引
9、将⼤大数据表做分库、分区处理:
具体操作如下:
1)、将大数据表与主数据库分离,单独新建⼀个数据库,然后将这些表做分区;
2)、将数据插入到消息队列内,后台利⽤windows计划任务执行(5分钟执⾏一次)C#控制台程序将 消息队列内的数据批量(消息队列内有50000条记录,⼀次性插⼊到数据表内)插⼊到相应的数据表内;
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
分类:
Mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?