近日對一個表做的操作多了,主要是直接通過SQL語句加字段、修改字段長度、刪除字段、導入數據、刪除數據、檢索之類的操作,用著用著就發現,這個表出問題了,寫select檢索該表的數據,會給出報錯信息,說該表有碎片了,不能正常使用了,查找了一下,需要用reorg命令清除碎片。執行reorg命令之後,可以重新檢索數據了。覺得有點不可思議的,Oracle也會產生碎片的,但Oracle卻不會影響用戶繼續使用。
越來越覺得DB2的問題真多,使用起來真麻煩的。比如:
1、沒有一個比如好的客戶端工具,DB2自帶的控制中心也比不上mssql、oracle的好用。
2、還原比較麻煩,經常需要前滾、重定向之類的。用restore命令還原,真讓我花了不少時間。
3、會莫名其妙地生成一些表,如T20090815_171657,查找了一下,還不清楚是為什麼,需要再安排個時間來專門研究一下。
4、NULL值與時間類型的排序,NULL值問題排在前面。
5、對一個表做的CRUD或加字段、刪字段之類的操作多了,容易導致表出現問題。如-668 56018 不能向用EDITPROC定義的表中添加列,這時需要reorg table.
可能還會有其它的,一下子想不起來了。
列舉的這些都是跟用戶體驗相關的,我相信DB2很強大,畢竟發展了20幾年了,但卻讓我體會不到易用的感覺。現在負責的系統跟另一個系統有很強的關系,而另一個系統是用mssql的,考慮調整系統,使其支持mssql,這樣用戶就多一種選擇,也可為以後的產品化做鋪墊。