.net 杂项
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)
)
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 杂项的更多相关文章
- 杂项之python描述符协议
杂项之python描述符协议 本节内容 由来 描述符协议概念 类的静态方法及类方法实现原理 类作为装饰器使用 1. 由来 闲来无事去看了看django中的内置分页方法,发现里面用到了类作为装饰器来使用 ...
- 杂项之使用qq邮箱发送邮件
杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...
- 杂项之图像处理pillow
杂项之图像处理pillow 本节内容 参考文献 生成验证码源码 一些小例子 1. 参考文献 http://pillow-cn.readthedocs.io/zh_CN/latest/ pillow中文 ...
- 杂项之pymysql连接池
杂项之pymysql连接池 本节内容 本文的诞生 连接池及单例模式 多线程提升 协程提升 后记 1.本文的诞生 由于前几天接触了pymysql,在测试数据过程中,使用普通的pymysql插入100W条 ...
- linux驱动初探之杂项设备(控制两个GPIO口)
关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...
- Linux驱动设计——字符杂项设备
杂项设备 linux里面的misc杂项设备是主设备号为10的驱动设备,misc设备其实也就是特殊的字符设备,可自动生成设备节点. 定义头文件<linux/miscdevice.h> 杂 ...
- Posix线程编程指南(5) 杂项
在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self().pthread_equal()和pthread_once()三个,另外还有一个LinuxThr ...
- ARM指令集----杂项指令
ARM指令集可以分为6类,即是跳转指令,数据处理指令,程序状态传输指令,Load.Store指令,协处理器指令和异常中断指令 跳转指令: 在ARM中有两种方式可以实现程序的跳转,一种是跳转指令,另一种 ...
- BootStrap入门教程 (三) :可重用组件(按钮,导航,标签,徽章,排版,缩略图,提醒,进度条,杂项)
上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求. Bootstrap作为完整的前 ...
- 第二篇:杂项之图像处理pillow
杂项之图像处理pillow 杂项之图像处理pillow 本节内容 参考文献 生成验证码源码 一些小例子 1. 参考文献 http://pillow-cn.readthedocs.io/zh_CN/ ...
随机推荐
- Xcode 问题
问题: 昨天在写代码的时候,不知道修改了哪个地方,Xcode6突然犯病了,在当前项目下无法代码提示,但是在新建工程中没有任何问题,其中重装了Xcode6也没有把问题解决, 最终的解决办法是: 在fin ...
- 树莓派搭建LAMP,然后更改根目录
参考网页: http://shumeipai.nxez.com/2013/10/13/install-and-config-lamp.html http://blog.csdn.net/zzuzadz ...
- Moodle配置
Moodle配置 1. 内部设置 在 Moodle 站点管理员界面中有一系列的配置页面(可以从'设置' 块中访问 '网站管理'区).这里有一些重要的系统设置,你需要进行检查. 根据提示信息并结合实 ...
- PHP调试的时候出现了警告:
It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题. 实际上,从PHP 5.1.0开始当对使用date() ...
- 12.13记录//QQDemo示例程序源代码
笔记的完整版pdf文档下载地址: https://www.evernote.com/shard/s227/sh/ac692160-68c7-4149-83ea-0db5385e28b0 ...
- centos7 多版本python并存问题
新的阿里云服务器,本身装有python2.7,但是项目需要python3,于是只能再装一个python3.6 参考文章:https://www.cnblogs.com/johnny1024/p/844 ...
- querySelector()与querySelectorAll()
1.querySelector() 参数:css选择器 返回匹配指定css选择器元素的第一个子元素 2.querySelectorAll() 参数:css选择器 返回匹配指定css选择器的所有元素
- kaggle比赛流程(转)
一.比赛概述 不同比赛有不同的任务,分类.回归.推荐.排序等.比赛开始后训练集和测试集就会开放下载. 比赛通常持续 2 ~ 3 个月,每个队伍每天可以提交的次数有限,通常为 5 次. 比赛结束前一周是 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第二周作业
<Linux内核原理与分析>第二周作业 本周视频学习情况: 通过孟老师的视频教程,大致对风诺依曼体系结构有了一个初步的认识,视频从硬件角度和程序员角度对CPU和Main Memory(内存 ...
- vue中的图片加载与显示默认图片
HTML: <div class="content-show-img"> <div class="show-img"> <img ...