iT邦幫忙

0

SQL 執行速度,根本不是問題

SQL 執行速度,根本不是問題

SAP 的快 10年累積 3000萬筆交易資料
Oracle 的慢 10年累積 3000萬筆交易資料
根本的問題是資料切割
SAP 內部機制不是直接抓 3000萬筆來 SUM(*),COUNT(*)
SAP 內部機制是直接抓 [本期 SUM(*),COUNT(*) ] + [期初累計]
月結很重要
Oracle 直接抓來 SUM 是要妳買的硬體好又好, 是好人
SAP 間接抓來 SUM 是要妳買的顧問教你規距好又好, 是好人
P大假裝看不懂::
<?php
$sql = "SELECT mt_id, COUNT(ht_id) as totalHits FROM hits_table GROUP BY mt_id";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($query);

do {
$update = sprintf("UPDATE main_table SET mt_hits = %s WHERE mt_id = %s",
$row['totalHist'],
$row['mt_id']);
myaql_query($update);
} while ($row = mysql_fetch_assoc($query));
?>

不會將 一千或一萬筆網頁統計值傳到 AP-Server ??
$row = mysql_fetch_assoc($query);

update 更是凄慘 lock 一千或一萬筆網頁統計 record
$update = sprintf("UPDATE main_table SET mt_hits = %s WHERE mt_id = %s",
我們都是 insert into 一筆新的統計表

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
8
pantc328
iT邦高手 1 級 ‧ 2011-07-28 08:41:27

都是人的問題
10年3000萬筆,資料少到不行
不同的程式,不同的需求
有不同的設計樣式,演算法,資料結構..
你用Table 的方式去同個Table做遞迴或做樹狀結構演算法
不要說3000萬筆,100階都跑步出來

看更多先前的回應...收起先前的回應...
Albert iT邦高手 1 級 ‧ 2011-07-28 11:18:26 檢舉

你不懂不要亂回答

賽門 iT邦超人 1 級 ‧ 2011-07-28 12:24:58 檢舉

ㄜ...開始吵架囉~~~~

賽門 iT邦超人 1 級 ‧ 2011-07-28 13:08:59 檢舉

albertachen提到:
SQL 執行速度,根本不是問題

本日最好笑笑話....
哈哈哈哈哈哈

總裁 iT邦好手 1 級 ‧ 2011-07-28 13:12:37 檢舉

偷笑哈哈哈哈哈哈

dscwferp iT邦高手 1 級 ‧ 2011-07-28 15:11:09 檢舉

哈哈哈哈哈哈哈哈

ccutmis iT邦高手 2 級 ‧ 2011-07-28 18:29:35 檢舉

哈哈...衝刺...毆飛...暈...Orz

4
jt200905
iT邦新手 4 級 ‧ 2011-11-08 19:42:28

看了 版主一堆文 感覺都是在廣告自己要推的商品

所以一些文章也就沒多看了

的確 SAP 和 Oracle 的 ERP,使用幾年之後 資料庫會澎脹不少. 以 Oracle ERP 11i 來說,要為澎脹後的ERP資料庫 做資料切割和歷史資料備份 來減輕資料庫的負擔,這 Oracle 是要額外收費 而且不便宜.

印象是 他們沒有歷史table 的做法,不像一些國內ERP 會為一些資料 特地切割目前交易使用的 table 和 歷史資料的 table. 所以理論上 會越來越慢

資料庫的狀況 以我個人的經驗是 Informix 一個 table 超過 1千萬筆資料,就比較容易有些問題,要清些資料 就有點麻煩. Oracle 資料庫則稍微好一點.
資料庫我工作過的公司 大多放在 Raw Device 上面,而非 Cooked Device 是否這也是因素之一 我就沒研究了

0
jojojjjo
iT邦新手 4 級 ‧ 2015-05-03 10:30:45

我公司在用ahsay來為Oracle進行備份, 收費相對比較合理得多
http://www.ahsay.com/jsp/tc/home/

我要發表回答

立即登入回答