Ⅰ 怎樣快速請求一個sql Query 返回的行數
FOUND_ROWS()
A
SELECT語句可能包括一個
LIMIT
子句,用來限制伺服器返回客戶端的行數。在有些情況下,需要不用再次運行該語句而得知在沒有LIMIT
時到底該語句返回了多少行。為了知道這個行數,
包括在SELECT
語句中選擇
SQL_CALC_FOUND_ROWS
,隨後調用
FOUND_ROWS()
:
對我有用[0]丟個板磚[0]引用舉報管理TOPrucypli(我要冰糖)等
級:
Ⅱ sql 中怎麼看連接數
可以使用Windows自帶的性能監視器來查看SQL Server當前的連接數,在安裝SQL Server的時候已經安裝了相關的性能監視器,只要將它們調用出來查看即可。方法如下:(我的系統是Win7,具體的界面、步驟跟XP有比較大的區別,所以這里我大概說一下) 運行perfmon.exe,打開性能監視器。 點擊性能監視器工具欄上的加號「+」,彈出一個對話框,在左邊的列表中找到並選擇「SQLServer:General Statistics」(XP的名字可能不完全一樣),然後在右邊的對話框中找到並選擇「User Connections」,最後點擊「添加」按鈕並關閉對話框即可。
Ⅲ 資料庫操作,需要執行1000條SQL語句。
SQL 關鍵字 循環 While
SQL 如下:
declare @Sum int,@Start int
set @Sum=1000
set @Start=0
while (@Start<@Sum)
begin
-- 執行需要的SQL 語句
set @Start=@Start+1
end
Ⅳ sql語句查詢,並統計查詢結果數量
統計人數的話是不能看出成績大於90的學生的信息的
如果你要看成績大於90的學生的信息,就不能統計人數
select id,name,age,count(score)
from sd_student_t
where score > 90
group by id,name,age
這個也是統計並且查看詳細信息,但是跟你要求的不一樣,這個是按id,name,age來分組的,所以統計的知識同id,name,age裡面成績大於90的人數
Ⅳ 如何打開活動監視器 (SQL Server Management Studio)
「活動監視器」頁包含以下部分:概述- 以圖形方式顯示處理器時間百分比、正在等待任務的數量、資料庫 I/O(MB/秒)和批請求數(數量/秒)。 活動用戶任務 - 顯示與 SQL Server 資料庫引擎建立的活動用戶連接的信息。 資源等待- 顯示等待狀態信息。 數據文件 I/O - 顯示資料庫數據和日誌文件的 I/O 信息。 最近耗費大量資源的查詢 - 顯示最消耗資源的查詢的相關信息。 若要在 SQL Server 2005 和 SQL Server 2008 中查看活動監視器,用戶必須擁有 VIEW SERVER STATE 許可權。 若要在 SQL Server 2000 伺服器上查看活動監視器,用戶必須對 master 資料庫中的 sysprocesses 和 syslocks 表擁有 SELECT 許可權。默認情況下,已為公共資料庫角色授予了查看這些表的許可權。 若要終止進程,用戶必須是 sysadmin 或 processadmin 固定伺服器角色的成員。
Ⅵ SQL資料庫(簡單)簡答題
Microsoft SQL Server 2000 簡答題及其答案
1.在安裝SQL Server 2000時,「僅客戶端工具」、「伺服器和客戶端工具」及「僅連接」等安裝定義有什麼差別?
答:僅客戶端工具:僅安裝客戶端工具。伺服器和客戶端工具:同時安裝伺服器和客戶端工具。僅連接:僅安裝客戶端連接。
2.一個資料庫中包含哪幾種文件?
答:主資料庫文件,輔助數據文件,事務日誌文件。
3.事務文件和數據文件分開存放有什麼好處?
答:因為利用事務日誌備份可以將資料庫恢復到特定的即時點(如輸入不想要的數據之前的那一點)或故障發生點。在媒體恢復策略中應考慮利用事務日誌備份。
4.什麼是批處理?使用批處理有何限制?
答:包含一個或多個T-SQL語句的組,從應用程序將一次性發送到SQL Server執行,SQL Server批處理語句作為整體編譯成一個可執行單元。
限制:如不能夠在同一個批處理中更改表,然後引用新列。如在一個批處理程序中,有兩條語句。第一條語句用來在一張表中插入一個欄位,如在User表中插入員工的出生年月;第二條語句則用來引用這個列,如根據身份證號碼來推算出這個員工的出身年月並把這個值賦值給這個第一條語句創建的出身年月欄位。
5.數據檢索時,COMPUTE和COMPUTE BY產生的結果有何不同?
答:Compute:第一個為明細行 第二個為聚合函數的合計 Compute by:第一個為明細行第二個為聚合函數的小計
6.什麼是索引?索引分為哪兩種?各有什麼特點?
答:1、資料庫中的索引與書籍中的目錄類似。在一本書中,利用目錄可以快速查找所需信息,無須閱讀整本書。在資料庫中,索引使資料庫程序無須對整個表進行掃描,就可以在其中找到所需數據。 2、聚集索引和非聚集索引。
3、聚集索引的特點:行的物理位置和行在索引中的位置是相同的,每個表只能有一個聚集索引,聚集索引的平均大小大約為表大小的5%左右。
非聚集索引特點:若未指定索引類型,則默認為非聚集索引,葉節點頁的次序和表的物理存儲次序不同,每個表最多可以有249個非聚集索引,在非聚集索引創建之前創建聚集索引。
7.創建索引有什麼優點和缺點?
答:優點:索引在資料庫中的作用類似於目錄在書籍中的作用,用來提高查找信息的速度。
使用索引查找數據,無需對整表進行掃描,可以快速找到所需數據。
缺點:索引需要佔用數據表以外的物理存儲空間。創建索引和維護索引要花費一定的時間。當對表進行更新操作時,索引需要被重建,這樣降低了數據的維護速度。
8.什麼是視圖?使用視圖的優點和缺點是什麼?
答:視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
優點:1隱蔽資料庫的復雜性2控制用戶提取數據3簡化資料庫用戶管理 4簡化查詢
缺點:1性能:SQL Server必須把視圖的查詢轉化成對基本表的查詢,如果這個視圖是由,一個復雜的多表查詢所定義,那麼,即使是視圖的一個簡單查詢,SQL Server也,把它變成一個復雜的結合體,需要花費一定的時間。2修改限制:當用戶試圖修改視圖的某些行時,SQL Server必須把它轉化為對基本,表的某些行的修改。對於簡單視圖來說,這是很方便的,但是,對於比較復雜的,視圖,可能是不可修改的。
9. 修改視圖中的數據會受到哪些限制?
答:1、必須有許可權 2、單表視圖直接改
3、多表可在視圖中定義 instead of 觸發器.
4、對由多表連接成的視圖修改數據時,不能同時影響一個以上的基表,也不能刪除視圖中的數據
5、對視圖上的某些列不能修改,這些列是:計算列,內置函數列和行集合函數列
6、對具有NOT NULL 的列進行修改時可能會出錯。通過視圖修改或者插入數據時,必須保證未顯示的具有NOT NULL 屬性的列有值,可以是默認值,IDENTITY 等,否則不能像視圖中插入數據行。
7、如果某些列因為規則或者約束的限制不能接受從視圖插入的數據時,則插入數據可能會失敗
8、刪除基表並不刪除視圖,建議採用與表明顯不同的名字命名規則
10. 什麼是數據完整性?如果資料庫不實施數據完整性會產生什麼結果?
答:數據完整性是指數據的精確性和可靠性。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。
11.數據完整性有哪幾類?如何實施?
答:1、數據完整性分為四類:實體完整性、域完整性、參照完整性、用戶定義的完整性。
2、資料庫採用多種方法來保證數據完整性,包括外鍵、束約、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。
12. 什麼是主鍵約束?什麼是惟一約束?兩者有什麼區別?
答:主鍵約束:有一列或列的組合,其值能唯一的標識表中的每一行。
唯一約束:不允許資料庫表在指定列上具有相同的值,但允許有空值。
區別:一個表可以定義多個唯一約束,只能定義一個主鍵約束;空值得列上可以定義唯一約束,不能定義主鍵約束。
13.什麼是外鍵,怎樣建立外鍵約束?
答:外鍵是用於建立和加強兩個表數據之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創建兩個表之間的鏈接。這個列就成為第二個表的外鍵。
14.什麼是存儲過程?使用存儲過程有什麼好處?
答:1、是存儲在伺服器上的 Transact-SQL 語句的命名集合,是封裝重復性任務的方法,支持用戶聲明變數、條件執行以及其他強有力的編程特性。
2、存儲過程封裝了商務邏輯,確保一致的數據訪問和修改。若規則或策略有變化,則只需要修改伺服器上的存儲過程,所有的客戶端就可以直接使用
屏蔽資料庫模式的詳細資料。用戶不需要訪問底層的資料庫和資料庫內的對象
提供了安全性機制。用戶可以被賦予執行存儲過程的許可權,而不必在存儲過程引用的所有對象上都有許可權
改善性能。預編譯的 Transact-SQL 語句,可以根據條件決定執行哪一部分
減少網路通信量。客戶端用一條語句調用存儲過程,就可以完成可能需要大量語句才能完成的任務,這樣減少了客戶端和伺服器之間的請求/回答包
15.什麼是觸發器?觸發器分有什麼作用?
答:觸發器是一類特殊的存儲過程,不能被直接調用,也不傳遞或接受參數
作用:1、維護不可能在表創建時刻通過聲明性約束進行的復雜的完整性約束限制。
2、通過記錄所進行的修改以及誰進行了修改來審計表中的信息。
3、當表被修改的時候,自動給其他需要執行操作的程序發信號。
Ⅶ SQL 活動監視器中的 批請求數 是什麼意思怎麼根據它去優化
請求的次數太多了
Ⅷ 求幫忙看一下,這個sql怎麼寫比較好,統計相關的數據量
根據你的方法,子查詢吧。然而「t」具體是那個值?下面是根據T為media_id而寫的:
s e l e c t left(date,6) themonth --截取日期到月份
,sum(send_id) --總交易金額
from send aa
inner join (s e l e c t media_id --獲得符合條件的渠道ID
from send a
where (s e l e c t count(1) from send where media_id=a.media_id+1 and cost_id=0)>0--當1個渠道的t+1的交易請求為0的時候
and (s e l e c t count(1) from send where media_id BETWEEN a.media_id-6 and a.media_id and cost_id<>0)=7--(t-6至t這7天中每一天的請求都不為0)
and (s e l e c t avg(cost_id) from send where media_id BETWEEN a.media_id-6 and a.media_id and cost_id<>0) --t-6至t的交易請求數的平均值
= (s e l e c t avg(cost_id) from send where media_id=a.media_id-7 and cost_id<>0)*5 --上面的值是t-7這一天的5倍
) bb on aa.media_id BETWEEN bb.media_id-1 and bb.media_id --所有滿足條件的渠道的t-1至t
GROUP BY left(date,6) --合並到月份