[英]How should I improve my query performance?
我創建了一個包含幾列的表。
MyTable
列5-> varchar
...
...
我沒有將此表與其他任何表一起加入。 我表中有4行數據。
當我查詢特定RecordId的標題,簡稱時,查詢似乎太慢了。 加載頁面幾乎需要7秒鍾。
我沒有在表上使用任何索引。 您能否建議我如何改善表/查詢性能?
我正在從我的jsp建立數據庫連接,以便在列表框中顯示查詢結果。
我的代碼看起來像這樣-conn = DataObjectConnectionPool.getInstance()。getConnection(); prepStmt = conn.prepStmt(“從MyTable中選擇標題,短名稱,其中RecordId = 1”);
您應該在RecordId上定義一個主鍵 。
這將具有在該列上創建索引的副作用。
但
如果您的頁面在7秒內加載,並且表中只有4行數據,那么問題幾乎可以肯定是在DBMS中。
在具有4行的表上創建索引絕對沒有意義。 如果要在dbms中查看執行查詢的時間,請在運行查詢后從程序包緩存中獲取一些數據。
select num_exec_with_metrics, total_act_time, pool_read_time
from table(mon_get_pkg_cache_stmt(null,null,null,null))
該表函數中還有100個其他列,涉及不同類型的等待等。
基本上,您在代碼中使用以下sql查詢:
select title,shortname from MyTable where RecordId=1
從數據庫端,您可以通過在RecordID
列上創建索引然后執行runstats ==>來加快查詢速度。
create index MyIndex on MyTable (RecordID) Compress yes Allow reverse scans;
runstats on table Mytable and indexes all shrlevel change;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.