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. [10.18模拟赛] 序列 (DP)

    [10.18模拟赛] 序列 题目描述 山山有一个整数序列s1,s2,-,sn,其中1≤si≤k. 求出有多少个准确移除m个元素后不同的序列.答案模(1e9+7) 输入 输入包括几个测试用例,并且由文件 ...

  2. Sightseeing(dijlstar) 计算最短路和次短路的条数

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10004   Accepted: 3523 Desc ...

  3. 题解【luoguP4053 bzojP1029 [JSOI2007]建筑抢修】

    洛谷题链 bzoj题链 PS: \(t_i\) : 在什么时候建筑 \(i\) 自爆 \(a_i\) : 修复 \(i\) 所花时间 题解 算法:贪心+堆维护 贪心策略: 直接按 \(t\) 贪心?显 ...

  4. Sqlserver中如何创建链接服务器

    链接服务器在跨数据库/跨服务器查询时非常有用(比如分布式数据库系统中),我将以图文方式详细说明如何利用SQL Server Management Studio在图形界面下创建链接服务器 方法/步骤   ...

  5. String、StringBuffer、StringBuilder区分和性能比较

    转载自:http://www.cnblogs.com/fancydeepin/archive/2013/04/23/min-snail-speak_String-StringBuffer-String ...

  6. j2ee 项目部署指引

    j2ee相关的项目一般是web工程或java application,部署到linux服务器上,本文结合自己的经验.教训,总结下部署的过程. 一.准备阶段 部署前要做的事情: 1.明确自己的产品都包含 ...

  7. MongoDB入门(7)- SpringDataMongoDB

    入门 本文介绍如何应用SpringDataMongoDB操作实体和数据库,本文只介绍最基本的例子,复杂的例子在后面的文章中介绍. SpringDataMongoDB简介 SpringDataMongo ...

  8. [Luogu 3958] NOIP2017 D2T1 奶酪

    题目链接 人生第一篇题解,多多关照吧. 注意事项: 1.多组数据,每次要先初始化. 2.因为涉及到开根,所以记得开double. 整体思路: 建图,判断「起点」与「终点」是否连通. 方法可选择搜索(我 ...

  9. Why to Not Not Start a Startup

    我花了周六,周日两天的时间,把这篇长文给阅读完了.很受益,改变了我的很多认知,也给我开拓了视野. 转载: Want to start a startup? Get funded by Y Combin ...

  10. 【CF558E】 A Simple Task (权值线段树)

    题目链接 用权值线段树维护每个字母在\([l,r]\)出现的次数,每次修改把每个字母在区间的出现次数记下来,然后清空这段区间,再按顺序插进去就好了. 时间复杂度\(O(n\log n*26)\) (好 ...