有用的SQL查询
1 、查詢實例中擁有某一字段的所有表
SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='name'2、根據表名查詢當前數據庫中存在的所有表
select * from sysobjects where xtype='U' and name like '%salary%'?3、一個實例中可能會有多個數據庫,有時會忘記當前是針對哪個數據庫進行查詢,可以用到下面這句
--@@spid是當前用戶進程的會話 ID --用此會話ID在Master..SysProcesses中查得當前用戶進程使用的數據庫ID --再用此數據庫ID在查得Master..SysDataBases中查到對應的數據庫名稱 Select Name From Master..SysDataBases Where DbId=(Select Dbid From Master..SysProcesses Where Spid = @@spid)?4、檢查SQL查詢效率前先清個緩存
DBCC FREEPROCCACHE; --刪除計劃高速緩存中的元素 DBCC DROPCLEANBUFFERS; --清除緩沖區?5、建立復合索引,索引中兩字段前后順序與查詢條件字段在數量一致的情況下,順序不影響使用索引查詢。
? ? ? 當復合索引中的字段數量與查詢條件字段數量不一致情況下,選擇性高的排前面(選擇性 = 基數/總行數 * 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?
轉載于:https://www.cnblogs.com/jinshan-go/p/10766603.html
總結
- 上一篇: C和指针 (pointers on C)
- 下一篇: 51单片机学习笔记(清翔版)(21)——