嗨!這個跟很多條件有關(guān)的! 比如存儲跨盤面造成緩慢

專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)下陸免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
--------------------------------------------------
不說廢話,看SQL,你看那個好就用那個,99.9%的情況下是第二種快!
SET STATISTICS TIME on
select count(*) from dbo.Order_Detail where detail_ID is not null;
SET STATISTICS TIME off
SET STATISTICS TIME on
select rowcnt from dbo.sysindexes where id=object_id('Order_Detail') and indid=1
SET STATISTICS TIME off
----------------------------------------------------------
你的1000萬,我的也不少!時間30ms,第二種 2ms
創(chuàng)建存儲過程:
CREATE PROCEDURE [dbo].[sys_viewTableSpace]
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE [dbo].#tableinfo(
表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
記錄數(shù) [int] NULL,
預(yù)留空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
使用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
索引占用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
未用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)
insert into #tableinfo(表名, 記錄數(shù), 預(yù)留空間, 使用空間, 索引占用空間, 未用空間)
exec sp_MSforeachtable "exec sp_spaceused '?'"
select * from #tableinfo
order by 記錄數(shù) desc
drop table #tableinfo
END
使用的時候直接 :exec sys_viewtablespace
DECLARE?@lastDate?DATE,@date?DATE,?@str?nvarchar(30);
DECLARE?c_test_main?CURSOR?FAST_FORWARD?FOR
SELECT?
baby.NICKNAME,--?這個就是字符串
baby.CREATE_DATE?--?這個就是創(chuàng)建的時間
FROM?T_BABY?baby
--?打開游標(biāo).
OPEN?c_test_main;
--填充數(shù)據(jù).
FETCH?NEXT?FROM?c_test_main?INTO?@str,?@date;
set?@lastDate?=?null;
--假如檢索到了數(shù)據(jù),才處理.
WHILE?@@fetch_status?=?0
BEGIN
IF?@lastDate?IS?NOT?NULL?
begin
print(DateDiff(minute,@lastDate,@date));
set?@lastDate?=?null;
continue;
END
IF?@str?=?''
begin
set?@lastDate?=?@date;
end
else?
begin
set?@lastDate?=?null;
end
FETCH?NEXT?FROM?c_test_main?INTO?@str,?@date;?--?游標(biāo)至下一個
END;
--?關(guān)閉游標(biāo)
CLOSE?c_test_main;
--釋放游標(biāo).
DEALLOCATE?c_test_main;
中間一些信息什么的替換替換就可以用,我這個只是單行單行的打印出來的,若你想返回一個結(jié)果集的話自己改一改就行。相信樓主修改修改還是沒問題的。
create?Table?T
(
id?int,
a??int,
b??int
)
Insert?into?t?values(1,1,1)????
Insert?into?t?values(2,2,1)????
Insert?into?t?values(3,3,1)??
Insert?into?t?values(4,4,1)????
Insert?into?t?values(5,5,1)???
Insert?into?t?values(6,6,1)???
/*思路:
id可能不連續(xù),所以先用id排序,產(chǎn)生一個記錄號id2
然后按3條記錄一組產(chǎn)生一個分組號G,接著按G分組求和,id取最大
最后更新
*/
With?CT
AS
(
Select?max(id)?As?id,SUM(a)?As?A,SUM(B)?As?B
from
(
Select?*,(id2+2)/3?As?G?
from?(Select?*,ROW_NUMBER()?over(order?by?id)?As?id2?from?T)?S
)M?Group?by?G
)
Update?T?Set?a=CT.A-T.a,b=CT.B-T.b
From?CT
where?T.id=CT.id
文章名稱:sqlserver計算行,sql計算列
網(wǎng)站URL:http://chinadenli.net/article42/dsgphhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、ChatGPT、網(wǎng)站改版、App開發(fā)、小程序開發(fā)、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)