碰到這樣乙個業務場景:每個使用者訂單會有好幾個合同檔案,其中某些合同檔案需要蓋章,蓋章是有專門的蓋章服務完成的,蓋章完成後,檔案會有乙個id與之匹配。
關於這樣乙個業務,研發的同學建了如下這樣一張表:
createtable
[dbo
].[userfile](
[id][
int]
identity(1,1) not
null
primary
key,
....
[needstamp][
bit]
null
,
[int
]null
)
往裡面塞資料的時候,需要蓋章的檔案:
insertinto
[dbo
].[userfile
不需要蓋章的檔案:
insert
into
[dbo
].[userfile
然後定期抽取需要蓋章的檔案送去蓋章服務:
select
*from
[dbo
].[userfile
]where needstamp =
1null
蓋好章之後呢:
update[dbo
].[userfile
]where id=
@id
這樣的業務跑一段時間之後發現抽取需要蓋章的資料查詢非常緩慢:
這樣的情況下我的解決方案有兩種:
1、簡單粗暴的利用hint強制走索引:
select*from
[dbo
].[userfile]1
null
各位大神有什麼好的其它方案麼?
乙個業務場景的效能優化方案 併發 快取
有乙個功能,提供兩個介面,乙個是a服務查詢列表某天的資料,乙個是b服務查詢列表中單個物件某天的資料。需要實現的效果是,1 呼叫a服務得到今天的資料 2 然後再次呼叫a服務查詢昨天的資料,3 然後迴圈a服務獲取的資料依次呼叫b服務,查詢每個物件的其他屬性,然後獲取某個中間結果。4 然後根據上面的中間結...
乙個型別轉換的討論
unsigned char port 0x5a unsigned char result 8 result 8 port 4 在網上參考的文章,在arm下。port 運算時,port會提公升為int型,運算結果result 8 0xfa 實際上,在iar程式設計環境中,當所選處理器架構為arm7時r...
從乙個簡單的功能到實際落地業務場景的處理分析
場景 資料庫 訂單列表 userid 使用者id ordertime 下單時間 isevaluate 是否評價 主要思路 base 系統內,做個定時查詢,根據ordertime 下單時間 判斷是否超過七天,然後修改isevaluate 是否評價 注意事項 以為是每天以最少1 2萬量級的資料增加,因此...