SQL之乱笔--事务、性能、系统、加密

SET XACT_ABORT ON --时,在事务中,若出现错误,系统即默认回滚事务,但只对非自定义错误有效 

SET Transaction Isolation Level Read UNCOMMITTED

--READ   COMMITTED
--指定在读取数据时控制共享锁以避免脏读,SQLSERVER默认

 --READ   UNCOMMITTED 
 --执行脏读或0级隔离锁定,这表示不发出共享锁,也不接受排它锁。类似NOLOCK

SET NOCOUNT OFF; --返回语句受影响的计数ON时不返回
---------------------------------------------------------------------------------------------------
 EXEC sp_executesql @sqlquery --执行字符串查询语句,效率比execute (@sql)好,
								--但@sqlquery字符串类型必须是N的,即NCHAR,NVARCHAR,通常使用NVARCHAR(MAX)

 BEGIN TRY
 
	BEGIN TRANSACTION --标记事务开始
	COMMIT TRANSACTION --提交事务
 
 END TRY
 BEGIN CATCH
	ROLLBACK TRAN --事务回滚
 END CATCH
 ----------------------------------------------------------------------
	EXISTS  --验证时通常使用EXISTS,比NOT的效率高IN和NOT IN 同理
	NOT EXISTS 
	
	
----0-0-0-0-0-0-0-0---------------

CROSS APPLY --与表值函数JOIN时用到,表值函数用到的参数是与之JOIN的表表中的某个字段,如:
			--功能类似游标
DECLARE @UserID varchar(20)='tester11'
SELECT B.*
FROM ComplexShopMapping AS A
CROSS APPLY udf_AuthShopAll(A.BrandCode,'',@UserID,'') AS B
JOIN Branch AS C
ON C.BranchCode=B.BranchCode
WHERE ComplexShopChk=1


SELECT A.name FROM sys.procedures AS A ---找到父sp活查询在sp中使用的语句
JOIN sys.sql_modules AS B ON A.object_id = B.object_id
WHERE B.definition like '%ShopStatusCode in %'


--找到表的创建时间和修改时间 
SELECT * 
FROM sys.objects  
WHERE object_id = OBJECT_ID(N'[dbo].[TbArea]') AND type in (N'U') 


SELECT obj.Name ---找到都有那些sp使用了某个字段
FROM syscomments sc  
INNER JOIN sysobjects obj ON sc.Id = obj.ID  
WHERE sc.TEXT LIKE '%' + 'ShopStatusCode' + '%'  
AND TYPE = 'P'

-----------查看锁表问题------------

--死锁检测
use master
Select * from sysprocesses where blocked<>0
--找到SPID  
exec sp_lock
--根据SPID找到OBJID
select object_name(85575343)
--根据OBJID找到表名
------------------------------------------------
SET NOCOUNT ON<span style="white-space:pre">		</span>
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED --允许语句查询其他地方修改但未提交的数据
SET XACT_ABORT ON --时,在事务中,若出现错误,系统即默认回滚事务,但只对非自定义错误有效
----查询数据库中所有不为空的表,并返回相应表名称、行数。 

SELECT 
    A.NAME,
    MaxRows = MAX(B.rows)
FROM sys.tables A
    INNER JOIN sys.partitions B
        ON A.object_id = B.object_id
WHERE B.rows > 0
GROUP BY A.name
ORDER BY MAX(B.rows) DESC
----------------------------------------
---性能查询
SET STATISTICS PROFILE ON;
SET STATISTICS TIME ON;
SET STATISTICS IO ON;

--可以对非主键列建条件索引,即索引中加where条件..

create nonclustered index [索引名] on [表名]([字段名]) where [字段名] is not null 

SELECT  ROUND(250.66,1)


sp_refreshview ---刷新视图


-------查找需要刷新的视图-------
SELECT DISTINCT
        'EXEC sp_refreshview ''' + name + ''''
FROM    sys.objects AS so
        INNER JOIN sys.sql_expression_dependencies AS sed ON so.object_id = sed.referencing_id
WHERE   so.type = 'V'
        AND sed.referenced_id = OBJECT_ID('testTB') ;

--如果一个表有identity属性列,那么要插入identity属性列,
--必须要打开设置: set IDENTITY_INSERT 表 on 
set IDENTITY_INSERT STAFF_LOGIN ON 


--必须要有col1,col2,col3... 否则会报错
insert into STAFF_LOGIN(col1,col2,col3...)
values(要插入的列1,要插入的列2...)


--插入操作作完成会,恢复设置为off,也就是关闭设置
set IDENTITY_INSERT STAFF_LOGIN OFF

-------------------------------数据加密------------------------------------------------
--数据加密有很多种方式---
--1.可解密的加密


--利用对称密钥:
EncryptByKey--加密
DecryptByKey--解密
--这种方式比较适合大数据量。因为对称密钥的过程好用资源较少。
--利用非对称密钥
EncryptByAsymKey--加密
DecryptByAsymKey--解密。
--用于更高安全级别的加解密数据。因为耗用资源叫多。
--利用凭证的方式:
EncryptByCert--加密
DecryptByCert--解密。比较类似非对称密钥
--利用密码短语方式:
EncryptBypassPhrase--加密
DecryptByPassPhrase--解密。
--可以使用有意义的短语或其他数据行,当成加密、解密的关键字,比较适合一般的数据加解密。


--2.不可解密的加密
<span style="white-space:pre">	</span>Pwdencrypt --加密
<span style="white-space:pre">	</span>Pwdcompare --比较
 --原来的值永远无法找回(如:登录密码只能修改新密码)
 
 ----------------------------清除缓存--------------------------------------------------------------------
 
  --清除存储过程缓存   
  
DBCC FREEPROCCACHE    
  
--注:方便记住关键字 FREEPROCCACHE 可以拆解成 FREE(割舍,清除) PROC(存储过程关键字简写),CACHE(缓存)  
 
--清除会话缓存  
  
 DBCC FREESESSIONCACHE   
  
--注: FREE(割舍,清除) SESSION(会话) CACHE(缓存)   
 
 
--清除系统缓存  
  
 DBCC FREESYSTEMCACHE('All')  
  
--注:FREE  SYSTE MCACHE  


--清除所有缓存  
  
 DBCC DROPCLEANBUFFERS  
  
--注: DROP CLEAN BUFFERS  

----汉字的unicode从19968到40869 


--sp中适用---
 --SET @ParmDefinition = N'@P_StartDate VARCHAR(6),          
 --        @P_EndDate VARCHAR(6),      
 --        @P_CompanyCode CHAR(4),        
 --        @P_BrandCode Varchar(4) '              
 --   EXECUTE sp_executesql @sql, @ParmDefinition,          
 --       @P_StartDate = @StartDate,            
 --       @P_EndDate = @EndDate,          
 --       @P_CompanyCode=@CompanyCode,          
 --       @P_BrandCode=@BrandCode     

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值