vs 打印信息到输出窗口 :

System.Diagnostics.Debug.WriteLine("打印信息到输出窗口,但是只能在Debug版本运行,到了release版本中,Debug类的函数都会被忽略");
System.Diagnostics.Trace.WriteLine("打印信息到输出窗口,可以同时在Debug和release版本运行");

  

1、在mvc或者api中 ,从一个控制器调用另外一个控制器,可以使用   new V2Controller() { ActionContext = this.ActionContext }.Get(id)    实例化调用,这样能把上下文信息传递给Get 否则,在get中无法使用过滤器,无法使用上下文的部分对象

2、sql 2014 两千万数据的表 新建索引语句:

CREATE  NONCLUSTERED INDEX index_name ON    [log] (logdate desc)
WITH (STATISTICS_NORECOMPUTE =OFF,fillfactor=60)

填充因子设置为60 索引名称为  index_name   表明:[log]   字段名:logdate    STATISTICS_NORECOMPUTE 非聚集索引

2.1 手动更新、删除执行sql语句,必须用事务

begin   tran
delete [log] where id= 4332869 执行看影响行数
rollback tran 进行回滚
commit tran 进行提交

2.2 output 的用法

DELETE FROM TestTB OUTPUT deleted.* INTO @tempTable WHERE id > 4
--删除并将删除的数据保存到另外一张表中

在insert ,update ,delete 中均可以使用output关键词

3、sql server 中的计算列和修改计算列为持久化

create table orders
(
orderid int not null,
price money not null,
quantity int not null,
orderdate datetime not null,
total as price*quantity ,
total2 as Price * quantity persisted,
shipedate as dateadd (day,7,orderdate)
)
  ALTER TABLE dbo.log alter  column  logdate  add PERSISTED     /*修改 logdate 计算列为持久化。 关键词:persisted */

4、update 语句的联合表查询

  update  a  set   IsClash=1    from   a  left join  [b]  on  a.Mobile=[b].Mobile and  [b].PlaceNo=2018112901
where a.PlaceNo=2018112901 and [b].Id is not null
 update       UserTable     set     b+=b,c=#cz.c     from    #cz ,UserTable  where  UserTable.a=4  and   UserTable.b=1  and  #cz.userid=UserTable.UserID

包含索引
快照复制
有序GUID

数据库优化,
首先是分区,分表,分库
其次是读写分离
然后是分布式
接着采用分发订阅模式
最后是优化应用架构
如果io是瓶颈,可以采用高性能的SSD固态存储
文件用文件服务器 或者做文件同步
有存储服务器,划分好磁盘可以映射到每一台服务器上,比如每一台服务器上都映射为F盘,那他的路径是一样的
其实你准备一个文件服务器,那个文件地址指向那台文件服务器也可
现在比较流行oss 存储对象

3. dtime,就不要使用datetime类型了,呵呵,用int就行。
dtime = DateTime.Now - 2000年1月1日0分0秒,取总秒数。
4. 表中的varchar类型(MgrObjId, Id, Value),考虑是不是可以改成int。 MgrObjId,可以放到用另外一张表:MgrObjId,与这个int关联。 我们想一下,这些varchar是不断重复的,我们可以在另外张表插入10w个监控指标与本表的MgrObjId_int字段关联。 这个表,我们在系统一启动就加载到内存中:Dictionary<string,int>_dic. //key:MgrObjId. 这样,我们就不会有数据库访问消耗。
Id(guid)也是雷同。 value,用long也应该可以吧, 对于模拟量、数字量、信号量都可以处理。比如存浮点,我们自定义浮动系数,与long相乘,即可得float。
因为这个表是主表,存储量大,所以设计时一定要慎重,每个字段都要考虑合理性。即使一定要用字符串,也一般用char,而不用varchar。

默认情况下SET STATISTCS IO是停用的,我们可以通过下列语句在当前会话级别打开。
SET STATISTICS IO ON
这个语句可以帮助我们获得在语句执行时,所发生IO数(页读/写)

USE StatisticsDB
GO
SELECT * INTO SalesOrderDetail FROM AdventureWorks2008R2.Sales.SalesOrderDetail
GO
SET STATISTICS IO ON
DBCC dropcleanbuffers
DBCC freeproccache
GO
SELECT * FROM SalesOrderDetail
GO
SELECT * FROM SalesOrderDetail

从文件批量插入数据到 数据库
USE kfglxt
BULK INSERT dbo.test_Street
FROM 'f:\test.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
);

统计表数据量
SELECT OBJECT_NAME(ii.id) TableName , rows
FROM sysindexes ii
INNER JOIN sysobjects oo
ON ( oo.id = ii.id
AND oo.xtype = 'U ')
WHERE ii.indid < 2
ORDER BY TableName;

统计数据库大小(也能统计到记录数)
exec sp_spaceused 'dbo.log'
https://blog.csdn.net/u010070255/article/details/77852556

关闭数据的日志模式
如何让SQLServer执行SQL时不写日志
禁掉ldf文件
1。对表进行TRUNCATE TABLE 操作
2。在Simple Recvery Mode下的 SELECT INTO, BCP (Bulk Insert/Bulk Update), CREATE INDEX 以及对于Text/Image数据类型 等的操作。
3。如果使用Full Recovery Mode,所有的操作都将会被记录(还包括数据库备份等)
我觉得在使用大量的删除插入语句的时候如果不想让DB记录log,应该可以在执行语句前执行下列语句将日志记录方式改为simple
ALTER DATABASE [CSMCISA] SET RECOVERY simple
GO
然后在执行完成后再将数据库的日志记录方式改过来就行了,如果不放心就写再事务中,确保日志记录方式不会因为我们的操作而改变.
ALTER DATABASE [CSMCISA] SET RECOVERY full/bulk_logged

cte递归

表结构

id node pid

with cte as
(
select * from 表名 where pid=值
union all
select a.* from 表名 as a,cte as b where a.pid=b.id
)
select * from cte
OPTION(MAXRECURSION 2)   --限制递归层次

递归查询没有显式的递归终止条件,只有当递归子查询返回空结果集(没有数据行返回)或是超出了递归次数的最大限制时,才停止递归。

默认的递归查询次数是100,可以使用查询提示(hint):MAXRECURSION 控制递归的最大次数:OPTION( MAXRECURSION 16);如果允许无限制的递归次数,使用查询提示:option(maxrecursion 0);当递归查询达到指定或默认的 MAXRECURSION 数量限制时,SQL Server将结束查询并返回错误,如下:The statement terminated. The maximum recursion 10 has been exhausted before statement completion.事务执行失败,该事务包含的所有操作都被回滚。在产品环境中,慎用maxrecursion 查询提示,推荐通过 where 条件限制递归的次数。

查看 mssql 数据库的连接数

查看链接数
select * from master.dbo.sysprocesses
where dbid = DB_ID('adlog') 查看最大连接数,可以在属性中修改
SELECT @@MAX_CONNECTIONS

.net 杂项的更多相关文章

  1. 杂项之python描述符协议

    杂项之python描述符协议 本节内容 由来 描述符协议概念 类的静态方法及类方法实现原理 类作为装饰器使用 1. 由来 闲来无事去看了看django中的内置分页方法,发现里面用到了类作为装饰器来使用 ...

  2. 杂项之使用qq邮箱发送邮件

    杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...

  3. 杂项之图像处理pillow

    杂项之图像处理pillow 本节内容 参考文献 生成验证码源码 一些小例子 1. 参考文献 http://pillow-cn.readthedocs.io/zh_CN/latest/ pillow中文 ...

  4. 杂项之pymysql连接池

    杂项之pymysql连接池 本节内容 本文的诞生 连接池及单例模式 多线程提升 协程提升 后记 1.本文的诞生 由于前几天接触了pymysql,在测试数据过程中,使用普通的pymysql插入100W条 ...

  5. linux驱动初探之杂项设备(控制两个GPIO口)

    关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...

  6. Linux驱动设计——字符杂项设备

    杂项设备 linux里面的misc杂项设备是主设备号为10的驱动设备,misc设备其实也就是特殊的字符设备,可自动生成设备节点. 定义头文件<linux/miscdevice.h>   杂 ...

  7. Posix线程编程指南(5) 杂项

    在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self().pthread_equal()和pthread_once()三个,另外还有一个LinuxThr ...

  8. ARM指令集----杂项指令

    ARM指令集可以分为6类,即是跳转指令,数据处理指令,程序状态传输指令,Load.Store指令,协处理器指令和异常中断指令 跳转指令: 在ARM中有两种方式可以实现程序的跳转,一种是跳转指令,另一种 ...

  9. BootStrap入门教程 (三) :可重用组件(按钮,导航,标签,徽章,排版,缩略图,提醒,进度条,杂项)

    上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求. Bootstrap作为完整的前 ...

  10. 第二篇:杂项之图像处理pillow

    杂项之图像处理pillow   杂项之图像处理pillow 本节内容 参考文献 生成验证码源码 一些小例子 1. 参考文献 http://pillow-cn.readthedocs.io/zh_CN/ ...

随机推荐

  1. rand、randi和randn的区别?

    1,rand 生成均匀分布的伪随机数.分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可 ...

  2. CMDB资产管理系统开发【day27】:cmdb API安全认证

    1.API验证分析 API三关验证 客户端和服务端中都存放一份相同的随机字符串,客户端发请求的时候把随机字符串和当前时间进行MD5加密,同时带着当前时间通过请求头发送到API,进入三关验证. 第一关是 ...

  3. 数据结构&字符串:字典树

    前缀树里面可以存一堆字符串,也可以说是一堆单词,存完之后我们可以轻松判断一个指定的字符串是否出现过 下面我来详细解释一下实现细节 *+; //单词个数*每一个单词的字符数 ; struct Trie ...

  4. C11简洁之道:模板改进

    1.  右尖括号 我们在C++98/03中使用泛型编程的时候,经常遇到“>>”被当作右移操作符,而不是模板参数的结尾.假如我们有如下代码: template <typename T& ...

  5. jQuery拖拽 & 弹出层

    了解更多请查看 官网 和 API iDrag & iDialog 介绍 特点: iDialog.js依赖于jquery编写的简单易用的对话框,同时还可以通过添加css3,改变对话框的展现动画. ...

  6. 【51NOD-0】1118 机器人走方格

    [算法]DP #include<cstdio> #include<algorithm> using namespace std; ,maxn=; int f[maxn][max ...

  7. Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!]

    题目链接:http://codeforces.com/contest/984 A. Game time limit per test:2 seconds memory limit per test:5 ...

  8. 大聊Python----quene队列

    当必须在多个线程之间安全地交换信息时,队列在线程编程中特别有用. class queue.Queue(maxsize=0)  # 先入先出class queue.LifoQueue(maxsize=0 ...

  9. jqgrid 翻页记录选中行

    简单的jqgrid列表 $("#list").jqGrid({ url:contextPath + "/getList", postData: data, da ...

  10. splay:优雅的区间暴力!

    万年不更的blog主更新啦!主要是最近实在忙,好不容易才从划水做题的时间中抽出一段时间来写这篇blog 首先声明:这篇blog写的肯定会很基础...因为身为一个蒟蒻深知在茫茫大海中找到一个自己完全能够 ...