• 有用的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

     7、Mysql 查询指定数据库中包含某字段的所有表,排除视图

    SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS WHERE COLUMN_NAME like '%buyer%' AND TABLE_SCHEMA='hk_erp2_oms' AND TABLE_NAME NOT LIKE 'vw%';

     8、C#取sql最小日期

    DateTime beginDate = System.Data.SqlTypes.SqlDateTime.MinValue.Value;
  • 相关阅读:
    VS2022修改默认字符集
    Unity 实现简单力场效果
    网页前端(Html)video播放m3u8(HLS)&Vue使用video.js播放m3u8
    ORACLE WITH AS 用法
    utf8和utf8mb4的区别
    mysql锁表原因及解决方法
    C#实现Stream、string、byte[]、文件、Bitmap、二进制之间的转换
    Spring循环依赖。为什么是三级缓存,二级不行吗?
    微信小程序 wx:for 遍历 Map集合
    Rust问题解决合集
  • 原文地址:https://www.cnblogs.com/jinshan-go/p/10766603.html
Copyright © 2020-2023  润新知