0
我對112m行的表格運行BCP以選擇約1.6mBCP查詢使用索引?
表定義具有25 x nvarchar(10),20 x INT列和2位列。它還有1個非持久計算列,它是nvarch(14)將2個int列轉換爲一個字符串。它具有所計算的列與其他索引上的INT列聚集索引
bcp "select * from db.dbo.table where src = 1002" queryout F:/path/1002_1638762.dat -n -U ausername -P *********
由性能判斷(在where子句中使用) - - 20分鐘後它看起來壽查詢正在運行一掃描,這一結論也得到了支持,即當輸出文件達到其最終大小時,讀取會持續一段時間。
bcp是否使用索引?我會期待這使用索引搜索和密鑰查找運行得更快?
任何人都可以推薦任何性能改進?
你想確保「src」有一個索引。否則,寫160萬行需要一些時間,特別是如果「F:」不是本地驅動器。如果通常將查詢作爲查詢運行,選擇運行速度有多快? – smoore4 2015-03-13 09:03:36
hi @SQLDBA,謝謝... src列按照Q「索引並且在INT列(在where子句中使用)上有一個索引」,F是本地驅動器,查詢運行在大約2.20在SQL SMS – garrilla 2015-03-13 09:18:29
我從來沒有嘗試過,但我會假設你可以使用查詢提示與BCP,或者至少你可以嘗試如果你添加索引提示那裏會發生什麼。 – 2015-03-13 10:44:21