问:如何处理海量数据,比如:导出、备份、查询等[2006-6-23 15:46:00] 嘉宾[胡百敬]: 切割功能、使用者、資料存放。資料再大量,都會有 80-20 的分布,80% 的人只用 20% 的資料,80% 的功能用 20% 的運算力就可以滿足。將耗資源,不常用的大量資料與常用的功能切開
问:请问胡老师,nonclustered index中,会对主键排序么?[2006-6-23 16:00:00] 嘉宾[胡百敬]: Primary Key 和 Nonclustered index 不可以混為一談,Primary key 的基本要求是 unique、not null,另外,我們會選擇符合需求的最小長度欄位。而 Nonclustered index 就是資料表本身照所選擇的索引欄位順序擺放。所以 Nonclustered index 就是資料表。換句話說,若你兩者選的欄位相同,自然就是相同的排序,若兩者選擇不同,PK 會有獨立的索引結構,而 Clustered index 直接排序整個資料表。
问:怎么找出长时间没有使用过的存储过程吗。还有出错的存储过程。还有有的存储过程和函数执行时间太长,造成死锁有什么好办法吗[2006-6-23 16:09:00] 嘉宾[胡百敬]: SQL Server 的 Profiler 可以錄製 SQL Server 的使用,你可以錄製一段時間後,再分析 SQL Server 的使用。其實,我一直強調切割,過大的預存程序、資料表...沒有效率也不好維護。同時會造成 lock、block、dead lock 等等。或許 SQL Server 2005 你可以用 Profiler 錄製並分析 dead lock 等成因。若在 2000 則需要透過 DBCC TRACEON(1204,3605)
问:以前我经常听说sql server2000的数据库100百万运行效率与oracle不相上下,如果超过百万则不然。不知道现在2005的数据量可以达到多少?[2006-6-23 16:18:00] 嘉宾[胡百敬]: 其實,我比較不會這樣比,而是怎麼樣設計資料庫。我所顧問的 2000 資料庫案子上千萬筆紀錄,數 tera 資料的都有。效能是以使用者滿意為準,若使用者可以接受,則選擇擁有成本最低的方案