探討大型項目中的主要問題─數據庫操作

在大型項目中,我想在困擾大家的主要問題爲數據庫的操作,本人就在項目中遇到了一些問題,在這裏和大家交流下。

◆1、 本人項目中有一個複雜視圖,數據量在2千萬以上,每次對這個視圖進行操作時,反映都很慢,而且這個視圖還經常用到,我當時想到的是緩存起來,可是因爲數據量很大,緩存到服務器端是不現實的,我們項目組用到了一種解決方案,把此視圖填充到物理表中,對此物理表設置索引,但是又怕用戶查詢記錄時正好在填充物理表的時候,所以可以設置2個物理表,來回切換,即:第一次填充物理表A,第二次填充物理表B,下次再填充物理表A,如此反複,和.NET的根據時間緩存數據原理類似。大家可能會想到索引視圖,可是索引視圖限制太多,例如:不允許使用outer join 運算;表也不能與他自己連接;不允許進行子查詢;定義索引視圖的SELECT 語句不能包含下列關鍵詞:UNION、TOP、DISTINC、COMPUTE或者HAVING;不能包含通配符,所以不是很不實用。

◆2、 不要在數據表中用到自增長字段,因爲再和其它數據庫導insert腳本時,是不能控制自增長列的值的。

◆3、 盡量少用外鍵約束,可以靠代碼實現,外鍵約束會使數據庫維護起來相當麻煩,尤其是在大項目中。

 
如何用Tprinter設計BCB操作數據庫程序中的報表
經常用Borland C++ Builder5編程,操作數據庫時,報表打印是必不可少的。但BCB5自身所帶的報表控件又顯得缺少靈活性。所以,我想到了用TPrinter來打印報表。使用TPrinter必須要在程序頭部加入#include <vcl\Print...查看完整版>>如何用Tprinter設計BCB操作數據庫程序中的報表
 
考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據
考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據 考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據 諸如圖像和音頻這樣的大型數據對象經常需要存儲在數據庫中。DB2 Univ...查看完整版>>考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據
 
使ASP.NET中的數據庫操作變得簡單
作者:Willmove 主頁:http://www.amuhouse.com E-mail: willmove@gmail.com 聲明:系作者原創作品,轉載請注明出處。 ASP.NET中一般都是使用SQL Server作爲後台數據庫。一般的ASP.NET數據庫操作示例程序都是使用單獨...查看完整版>>使ASP.NET中的數據庫操作變得簡單
 
編寫數據庫操作類,使ASP.NET中的數據庫操作變得簡單
作者:Willmove主頁:E-mail: 聲明:系作者原創作品,轉載請注明出處。ASP.NET中一般都是使用SQL Server作爲後台數據庫。一般的ASP.NET數據庫操作示例程序都是使用單獨的數據訪問,就是說每個頁面都寫連接到數據庫,...查看完整版>>編寫數據庫操作類,使ASP.NET中的數據庫操作變得簡單
 
考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據
簡介 諸如圖像和音頻這樣的大型數據對象經常需要存儲在數據庫中。DB2 Universal Database 爲存儲大型數據對象提供了專門的數據類型。這些數據類型被稱爲大型對象(LOB)。在本文中,我們將在 LOB 的世界裏遨遊。更具體...查看完整版>>考慮大對象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 數據
 
· 臨近國慶,李小璐與女兒在天安門前合影

http://image.wangchao.net.cn/users/...

· 震驚!原來酒駕處罰這麽嚴重

酒駕處罰標准 不要有任何一絲僥幸心理! http://image....

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...