用mysql内置函数处理结果好还是取出来再处理好
程序员文章站
2022-04-28 12:13:09
...
mysql也有丰富的字符串处理函数,虽然不全但是也够用了。
我是想问,当我取数据时,是用mysql处理完再取出来还是原封不动地取出来交给PHP来做后续处理。
两者之间性能上孰优孰劣呢?
我是想问,当我取数据时,是用mysql处理完再取出来还是原封不动地取出来交给PHP来做后续处理。
两者之间性能上孰优孰劣呢?
回复内容:
mysql也有丰富的字符串处理函数,虽然不全但是也够用了。
我是想问,当我取数据时,是用mysql处理完再取出来还是原封不动地取出来交给PHP来做后续处理。
两者之间性能上孰优孰劣呢?
题主的问题可以扩展得更宽泛一点,不管是mysql,还是sql server,oracle都会遇到题主类似的问题。
首先说下我的答案:没有哪种方法更好的说法,两种做法各有自己的使用场景。
一、用sql语句写存储过程(store procedure,以下简称sp)来处理数据
- 好处:快
- 缺点:难维护,数据库迁移什么的要带着sp一起走
- 应用场景:数据规模巨大的话,一定要写sp。我在微软实习的时候,我那个Team是做BI的,数据量大,数据处理全走sp。.Net这层只负责传递一下数据而已。
二、将数据query到后端处理
- 好处:易维护
- 缺点:相对直接用sp慢一点
- 应用场景:如果数据库数据量不大,用不用sp其实没有太大差别。
你做一个系统要知道瓶颈在哪儿。如果瓶颈在数据量大,query慢上,那就优化数据库那块,写写sp。如果数据量小,那系统的瓶颈绝对在其他地方,比如网络传输慢等。
php处理……mysql能省则省……
mysql的责任是以最快的速度取出最大限度能够给出的结果