sqlplus sys/zhou215 as sysdba
startup
connect oracle/oracle
由於虛擬機器是linux的 plsql沒有linux的版本,需要通過本機連上虛擬機器
配置檢視ip /sbin/ifconfig -a 192.168.81.128
將虛擬機器的ip填到net manager中的listner 通過netmgr命令
再通過lsnrctl start listener 啟動listener
用 select name from v$database; 得到sid
這樣就能通過 oracle sql developer來連線
testtab1 200w 帶索引
testtab2 200w 帶索引
testtab3 400w 帶索引 id not null id很多都是1000
testtab4 200w 帶索引 id not null
testtab5 10 不帶索引
[b]----------高水位問題----------[/b]
select id from testtab5; 8秒
analyze table testtab5 compute statistics;
select table_name, blocks, empty_blocks, num_rows from user_tables where table_name = 'testtab5';
table_name blocks empty_blocks num_rows
1 testtab5 74357 395 10
alter table testtab5 move;
table_name blocks empty_blocks num_rows
1 testtab5 4 4 10
select id from testtab5; 0秒
[b]----------id為varchar時 索引失效----------[/b]
select id from testtab1 where id =1; 11秒
select id from testtab1 where id ='1'; 0秒
id是varchar的
在sqlplus中可以用set autotrace on 看到
table access full
在plsql developer中可以用
explain plan for
select id from testtab1 where id ='1';
select * from table(dbms_xplan.display);
來檢視到 index range scan
db中id是varchar型別,加了索引
select * from table1 where id = 1;
這時候不會用到索引,會全表掃瞄。
補救方法 可以建立乙個to_number的函式索引
設計db時要注意。
[b]----------復合索引問題----------[/b]
id id2 id3 為復合索引
select * from testtab2 where id=31; 0秒
select * from testtab2 where id2=31; 8秒
select * from testtab2 where id2=31 and id3=31; 9秒
只有在id有值的情況下,復合索引才有效
可以用hint語句 強制用索引
[b]----------索引not null----------[/b]
當索引沒有設定成not null時,
order by id 是全表掃瞄的
explain plan for
select * from testtab4 order by id ;
select * from table(dbms_xplan.display);
explain plan for
select * from testtab1 order by id ;
select * from table(dbms_xplan.display);
--38秒
[b]-----createstatement vs preparestatement--------[/b]
JMeter Webservice API測試計畫
web服務被定義為旨在通過網路支援兩台機器之間互動的軟體系統。它被設計為具有以通常在web服務描述語言 wsdl 中指定的機器可處理格式描述的介面。通常,http 是最常用的通訊協議。web服務還使用soap,rest和xml rpc作為通訊手段。web服務可能不包含完整的規範集,有時可能無法執行完...
壓測和防止壓測方案
壓測 防止壓測方案 1.壓測 1 壓測工具 ab 2 壓測請求方式 get 3 壓測網域名稱 url 4 壓測方案 10萬請求,500併發 5 壓測指令碼 ab n 100000 c 500 url 6 展示壓測結果 從上面分析,10萬請求錯誤有 96881 次請求錯誤,基本上也就是很大的問題了 7...
單測 JUnit搭配PowerMock單測實踐
單元測試是要遵守可重複執行,故測試用例不應該依賴外部環境以及下游服務,避免不必要的問題 mock工具就是為了滿足這一需求的,它可以幫我們mock 模仿 出外部依賴物件,這樣我們的測試用例不依賴於下游服務的狀態,同時可以自主控制方法的返回值,或者執行特定行為甚至返回異常。首先,powermock就是m...