有用的SQL查询
1 、查詢實(shí)例中擁有某一字段的所有表
SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='name'2、根據(jù)表名查詢當(dāng)前數(shù)據(jù)庫中存在的所有表
select * from sysobjects where xtype='U' and name like '%salary%'?3、一個(gè)實(shí)例中可能會(huì)有多個(gè)數(shù)據(jù)庫,有時(shí)會(huì)忘記當(dāng)前是針對(duì)哪個(gè)數(shù)據(jù)庫進(jìn)行查詢,可以用到下面這句
--@@spid是當(dāng)前用戶進(jìn)程的會(huì)話 ID --用此會(huì)話ID在Master..SysProcesses中查得當(dāng)前用戶進(jìn)程使用的數(shù)據(jù)庫ID --再用此數(shù)據(jù)庫ID在查得Master..SysDataBases中查到對(duì)應(yīng)的數(shù)據(jù)庫名稱 Select Name From Master..SysDataBases Where DbId=(Select Dbid From Master..SysProcesses Where Spid = @@spid)?4、檢查SQL查詢效率前先清個(gè)緩存
DBCC FREEPROCCACHE; --刪除計(jì)劃高速緩存中的元素 DBCC DROPCLEANBUFFERS; --清除緩沖區(qū)?5、建立復(fù)合索引,索引中兩字段前后順序與查詢條件字段在數(shù)量一致的情況下,順序不影響使用索引查詢。
? ? ? 當(dāng)復(fù)合索引中的字段數(shù)量與查詢條件字段數(shù)量不一致情況下,選擇性高的排前面(選擇性 = 基數(shù)/總行數(shù) * 100%)。
6、刪除索引
IF EXISTS (SELECT si.name AS IndexName FROM sys.indexes AS si INNER JOIN sys.objects AS so ON si.object_id = so.object_id WHERE so.name = 'DeviceRecords' AND si.name LIKE '%IX_Clubs%')DROP index IX_Clubs ON DeviceRecords?
轉(zhuǎn)載于:https://www.cnblogs.com/jinshan-go/p/10766603.html
總結(jié)
- 上一篇: C和指针 (pointers on C)
- 下一篇: 51单片机学习笔记(清翔版)(21)——