PHP 板


LINE

看板 PHP  RSS
※ 引述《jl844032 (湖蓝者)》之铭言: : 如题 : 想请问版上大德们 : 一个PHP想要从MYSQL拉资料後 再用PHP做运算比较好 : 还是在MYSQL做完运算後 传回来PHP比较好 这个问题是个大哉问啊... : 关於效能方面 哪个方式会比较好? 我有两组答案,一组是业界的,一组是学界的... 不管是哪一种,谈「效率」的时候前提都是假设在「资料量够大」,所以下面就 不再提醒资料量的问题了,都是以资料量够大为前提... ======================================================================= 学界的比较简单,用 MySQL 算「整体」上会比较省资源,而且考虑到传输数据也 是成本,用 MySQL 算比较省资源通常都是对的。 反例是 MySQL 内建的函式没办法快速处理时,拉到 PHP 端计算可能会比较快。 ======================================================================= 业界的答案就很复杂了,要列出不同的情境... 对於只用过 MySQL MyISAM 的人,答案 100% 是 PHP 比较好,因为 query 如果 跑很久的话,会导致 table 卡住无法写入... ======================================================================= 接下来是会用 InnoDB 的人,又要再分成公司的状态... 如果公司 Programmer 比较强势,那麽 Programmer 会希望事情不要在 PHP 端计 算,会压榨管资料库的人要把资料库弄强... 会出现的用语:「这个是资料库不够力的问题」。 如果是管资料库的人比较强势,那麽会压榨 Programmer 把计算丢到 PHP 端。 会出现的用语:「这个不应该归资料库计算」。 ======================================================================= 最後是讲比较美好的情况:这个问题是依照商业逻辑而决定怎麽做比较好。 我们知道在资料库端算完再丢出来对整体的资源是最省的,但我们也知道资料库 是最难以扩充的部份 (相较於 PHP 端)。 在知道这个前提下,针对不同的商业需求来决定要怎麽处理。 不过这有个大前提,现在几乎都应该用 InnoDB 了啦,不用 InnoDB 受限太多... 对於 Web 应用来说,为了要压力页面产生时间,有很多东西会在 MySQL 上反正 规化,然後用 trigger 更新;或是反正规化後用 transaction 确保资料的一致 性。 而对於报表来说,反正每天用离峰时间慢慢跑就好:第一是因为离峰时间,本来 就有多出来的计算资源可以用,第二是报表类的东西不需要即时计算,慢慢跑完 就好,去正规化之类的事情能省就省... ======================================================================= 这是我的想法啦,不能接受的人还蛮多的 XDDD --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.242.135.97
1F:→ LaPass:你说的是对的..... 工作上常常看到反正规化.... 11/05 09:29
2F:推 jl844032:受教了! 11/05 23:25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP