語(yǔ)錄一
某天,停車,圖方便隨便停在路邊,抱怨了兩句,ld隨即頂回一句:“只要有邊就能停”posted @ 2008-11-18 23:32 tacy lee 閱讀(246) | 評(píng)論 (0) | 編輯 收藏
2008年4月14日 #
posted @ 2008-11-18 23:32 tacy lee 閱讀(246) | 評(píng)論 (0) | 編輯 收藏
一直認(rèn)為lob類型的性能要好過(guò)long,但是之前只了解到long的種種限制,oracle也是不推薦使用long類型,這幾天由于一個(gè)項(xiàng)目問(wèn)題,產(chǎn)品里面一個(gè)表字段用了long類型,分析下來(lái)操作long的時(shí)候,性能有所影響,想把它改成lob,就簡(jiǎn)單驗(yàn)證了一下
首先創(chuàng)建兩個(gè)測(cè)試表:
create table test_long (a int primary key,b long);
create table test_clob (a int primary key,b clob);
用附件java代碼,往兩個(gè)表里面各插入100條數(shù)據(jù),保證插入數(shù)據(jù)是一樣的,lob字段長(zhǎng)度為10k(如果小于4k,oracle可以把它保存到到表內(nèi),不會(huì)存儲(chǔ)在表外,性能沒(méi)有問(wèn)題,這個(gè)我基本確定,而且我們應(yīng)用中這個(gè)字段經(jīng)常會(huì)超過(guò)4k)。
做一個(gè)簡(jiǎn)單查詢對(duì)比一下:
SQL> set autotrace traceonly;
SQL> select * from test_clob where a=1;
統(tǒng)計(jì)信息
----------------------------------------------------------
331 recursive calls
0 db block gets
69 consistent gets
4 physical reads
0 redo size
1278 bytes sent via SQL*Net to client
837 bytes received via SQL*Net from client
5 SQL*Net roundtrips to/from client
12 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> select * from test_long where a=1;
統(tǒng)計(jì)信息
----------------------------------------------------------
236 recursive calls
0 db block gets
43 consistent gets
0 physical reads
0 redo size
675 bytes sent via SQL*Net to client
531 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
5 sorts (memory)
0 sorts (disk)
1 rows processed
對(duì)比一下,long開(kāi)銷比lob小,當(dāng)然你可以把lob字段啟用緩存,把4次物理讀去掉,但還是多了(73-43)次邏輯讀,update也試了一下,lob產(chǎn)生的redo比long大,就不列出來(lái)了,有興趣的可以自己試試
測(cè)試下來(lái),看來(lái)之前的認(rèn)識(shí)不對(duì),不確定的東西最好還是動(dòng)手試試,當(dāng)然對(duì)于新應(yīng)用,還是不建議用long,畢竟oracle已經(jīng)廢棄它了。
posted @ 2008-06-24 01:18 tacy lee 閱讀(456) | 評(píng)論 (0) | 編輯 收藏
用遠(yuǎn)程桌面連接登入服務(wù)器的時(shí)候,你可能會(huì)經(jīng)常碰到下面的情況:
也就是說(shuō),服務(wù)器的連接數(shù)已經(jīng)滿了,很多時(shí)候,可能是別人異常斷開(kāi)連接,導(dǎo)致連接沒(méi)有釋放,一般這時(shí)候你需要去機(jī)房登入服務(wù)器斷開(kāi)連接,其實(shí)windows提供了tsdiscon命令來(lái)做這事情
posted @ 2008-06-22 17:12 tacy lee 閱讀(468) | 評(píng)論 (0) | 編輯 收藏
有時(shí)候,我們可能希望看到lr的出錯(cuò)頁(yè)面:比如lr出錯(cuò),但是后臺(tái)服務(wù)器沒(méi)有錯(cuò)誤日志,這時(shí)候,我們希望能看到錯(cuò)誤頁(yè)面的內(nèi)容來(lái)判斷問(wèn)題出在什么地方,但是lr沒(méi)有提供類似的功能
我們可以通過(guò)一種變通的辦法來(lái)實(shí)現(xiàn):
首先找到你出錯(cuò)的頁(yè)面,保存該頁(yè)面到參數(shù)里面:
web_set_max_html_param_len(“2048”);
web_reg_save_param(“FILED”,”LB=”,”RB=”,”Search=Body”,LAST);
然后輸出到日志里面: lr_output_message(”#######################################%s”,lr_eval_string(”{FILED}”));
修改lr run-time的幾個(gè)設(shè)置:
1、Always send messages
2、continue on error (這樣才能保證運(yùn)行l(wèi)r_output_message)
這樣lr會(huì)把所有的lr_output_message輸出保存到日志文件
當(dāng)然你不要下載資源文件,否則保存到的就不是html頁(yè)面了,可能是一個(gè)gif :(
最后,結(jié)合lr controller的錯(cuò)誤信息,定位到出錯(cuò)的vuser id,查看該vuser的log文件就能看到錯(cuò)誤頁(yè)面了
非常有效的一個(gè)小技巧,用它解決了一個(gè)難纏的問(wèn)題。
posted @ 2008-05-28 23:05 tacy lee 閱讀(834) | 評(píng)論 (3) | 編輯 收藏
posted @ 2008-05-14 10:17 tacy lee 閱讀(243) | 評(píng)論 (0) | 編輯 收藏
posted @ 2008-04-14 20:38 tacy lee 閱讀(4456) | 評(píng)論 (2) | 編輯 收藏