用mysql内置函数处理结果好还是取出来再处理好


mysql也有丰富的字符串处理函数,虽然不全但是也够用了。
我是想问,当我取数据时,是用mysql处理完再取出来还是原封不动地取出来交给PHP来做后续处理。
两者之间性能上孰优孰劣呢?

mysql php

苍空翼Nayi 9 years, 2 months ago

php处理……mysql能省则省……

mysql的责任是以最快的速度取出最大限度能够给出的结果

真名寺瑜伽 answered 9 years, 2 months ago

题主的问题可以扩展得更宽泛一点,不管是mysql,还是sql server,oracle都会遇到题主类似的问题。

首先说下我的答案:没有哪种方法更好的说法,两种做法各有自己的使用场景。

一、用sql语句写存储过程(store procedure,以下简称sp)来处理数据

  • 好处:快
  • 缺点:难维护,数据库迁移什么的要带着sp一起走
  • 应用场景:数据规模巨大的话,一定要写sp。我在微软实习的时候,我那个Team是做BI的,数据量大,数据处理全走sp。.Net这层只负责传递一下数据而已。

二、将数据query到后端处理

  • 好处:易维护
  • 缺点:相对直接用sp慢一点
  • 应用场景:如果数据库数据量不大,用不用sp其实没有太大差别。

你做一个系统要知道 瓶颈在哪儿 。如果瓶颈在数据量大,query慢上,那就优化数据库那块,写写sp。如果数据量小,那系统的瓶颈绝对在其他地方,比如网络传输慢等。

能美库朵缭卡 answered 9 years, 2 months ago

Your Answer