热门推荐








sql数据库数据量庞大时怎么处理
问题描述
- 精选答案
-
我用的是postgresql,发现同样的逻辑,存储过程的代码是c#的三分之一。因为存储过程语言是为描述数据创建的,对于变量和数据的混合处理有天然优势。再加上一些注释,代码可读性比c#更高。而且由于服务器和数据库是一次交互,执行更快,用户体验好,服务器并发好。postgresql存储过程支持断点调试的。当然我不建议几千行的存储过程。存储过程的目的是为了执行速度更快,代码更简洁。我也不认为简单的增删改查也用存储过程。这些应该交给orm。存储过程应该用同时满足以下几个条件时:
1. 用户高频使用这个功能 2.这个功能需要多次访问数据库
存储过程的另一个好处是在编译时就可以检查sql语句的错误不用等执行。缺点是,当数据库修改后,你如果不重新编译存储过程是无法知道程序中哪些地方需要修改字段名。但是相比她带来的好处,这一点可以忍受。另外orm也只是可以检测字段,但是存储过程连语法都检测了。
现代互联网应用的基石是MySQL,而早期mysql没有存储过程,而且数据往往要分多个库,搞存储过程要一个个库去更新,万一漏了一个就会出问题。互联网应用的逻辑相对没有erp复杂,所以都不用存储过程。但是现在是2019年了,mysql数据库也支持分区表了,一个库就能搞定很大数据量。存储过程也支持了,适当使用存储过程并无不妥。尤其是postgresql数据库连断点调试都具备了,语法又那么优雅。
所以我支持用存储过程,但不能滥用,要好钢用刀刃上
猜你喜欢内容
-
总课程表统计个人课时怎么算
总课程表统计个人课时怎么算回答数有3条优质答案参考
-
辅警35岁后必须离职吗
辅警35岁后必须离职吗回答数有3条优质答案参考
-
公务员放弃考试就可以退费吗
公务员放弃考试就可以退费吗回答数有3条优质答案参考
-
公务员考试审核通过了可以放弃不
公务员考试审核通过了可以放弃不回答数有3条优质答案参考
-
公务员笔试入围可以放弃吗
公务员笔试入围可以放弃吗回答数有3条优质答案参考
-
公务员考试如何放弃资格复审
公务员考试如何放弃资格复审回答数有3条优质答案参考
-
考公务员哪个环节可以放弃
考公务员哪个环节可以放弃回答数有3条优质答案参考
-
一家小区的纹绣店说说
一家小区的纹绣店说说回答数有3条优质答案参考
-
消防职业技能鉴定怎样登录
消防职业技能鉴定怎样登录回答数有3条优质答案参考
-
如何查看消防鉴定站报名人数
如何查看消防鉴定站报名人数回答数有3条优质答案参考