Sqlserver入门视频教程
Sqlserver入门视频教程

SqlServer 是微软官方发布的关系型数据库,SqlServer和asp.net是非常完美的一对组合,本系列课程使用的课标是SqlServer经典入门一书,共有28集,是作者在2014年录制的,只是入门课程,简单的sql语法,和SqlServer的一些...

共93集 已完结 创建时间:2016-08-05 21:02

收藏:4 访问:6029 学生:148

正常来说 sqlserver本身程序会占用内存。你可以使用排除法 先把那个频繁的sql的代码注释掉。然后观察 是不是这个sql导致的。

@logic 老师,我发现一个特点就是每次数据库内存增到2G就不再增加了。...

2020-06-27

老师,我发现一个特点就是每次数据库内存增到2G就不再增加了。目前我的做法是把SqlServer中的内存限制在物理内存的70%,但是感觉没效果,还是会增加到2G。

@黄老师 比如通过缓存 或者分布式 之类的来解决。@logic 老师,...

2020-06-27

比如通过缓存 或者分布式 之类的来解决。

@logic 老师,您说得对。我是在有些线程中,对有些SQL语句执行比较频...

2020-06-27

你好  如果真的 必须这么频繁 那么你就只能通过增加内存条来解决咯 CPU占用不大 这个关系不到 。反正内容2Gb也不算大。如果可以的话 您可以优化业务逻辑 看是否减少频繁操作。

@logic 老师,您说得对。我是在有些线程中,对有些SQL语句执行比较频...

2020-06-27

老师,您说得对。我是在有些线程中,对有些SQL语句执行比较频繁,是这个原因导致的内存增加么。有些语句又不得不这样进行操作,请问这样是属于正常现象么?

@黄老师 你好 看你的截图 CPU好像占用不大。内存大。你试试 使用S...

2020-06-27

你好 看你的截图 CPU好像占用不大。内存大。你试试 使用SQL Server Profiler 来跟踪一下。看是不是有那句sql 执行频繁 耗时。

@logic 老师,SqlServer运行一段时间后,内存占到2G多 是正...

2020-06-26

老师,SqlServer运行一段时间后,内存占到2G多 是正常现象么?这期间的确是会有不断更新表的操作存在。但我感觉是不是占用的太多了呢?

123.png


2020-06-26
Sqlserver入门视频教程学习了



2020-06-06

才想學習時,就有這個課程,真好!

2020-05-16

你好 sqlserver是不能向下兼容的 只能向上兼容 如果你有数据的 那可以把整个数据库导出成sql脚本,这个sql脚本是包含数据的,会有很多insert 语句的 然后再再sqlserver08中执行这些i脚本 生产数据库和插入数据

2019-03-01

SQL2008创建的数据库,在SQL2012打开之后,再用2008打不开了怎么办啊?

2019-03-01

你好 不明白你说的意思? 目前应该只能用tsql来创建表吧 就算是框架 底层也是转换为TSQL吧

2019-01-09

用TSQL语句创建数据库与表有没有更好的理解方法?

2019-01-06

@abcd 你好 这个获取上下篇 方法很多。这里说两种 推荐第二种

第一种是在没有冗余字段的情况下 的一种通用方法 但是这种方法 如果表的数据非常大的时候 比如上亿 就可以会有性能问题了。

这种方法是通过rownumber这个虚拟字段来

比如

-- 按照一定的条件(文章分类)一定的字段(添加时间或者其他的)排列后 增加一个虚拟的行编号
SELECT ID,Title ,ROW_NUMBER() over(order by addtime ASC) as rownumber FROM [dbo].[News] WHERE CatalogID = 13

那么结果是

2018-07-09_163737.png

这个时候

如果当前文章id是250(rownumber:8)  那么上一篇是249(rownumber:7)  下一篇是251(rownumber:9)  当然id不一定连贯的

--上一篇
select * from 
(
	SELECT ID,Title ,ROW_NUMBER() over(order by addtime ASC) as rownumber FROM [dbo].[News] WHERE CatalogID = 13
) as tw
where tw.rownumber = 
(
	select rownumber-1 from 
	(
		SELECT ID,Title ,ROW_NUMBER() over(order by addtime ASC) as rownumber FROM [dbo].[News] WHERE CatalogID = 13
	) as tw where tw.ID = 250
)


--下一篇
select * from 
(
	SELECT ID,Title ,ROW_NUMBER() over(order by addtime ASC) as rownumber FROM [dbo].[News] WHERE CatalogID = 13
) as tw
where tw.rownumber = 
(
	select rownumber+1 from 
	(
		SELECT ID,Title ,ROW_NUMBER() over(order by addtime ASC) as rownumber FROM [dbo].[News] WHERE CatalogID = 13
	) as tw where tw.ID = 250
)

2018-07-09_164032.png

方法就是通过子表查询 得到当前ID的rownumber 然后+1是下一篇 -1是上一篇 如果+-1 得到null 则表示没有上一篇或者下一篇

-------------------------------------------

另一种方法是 在news表增加一个nextid 和lastid 字段 每次新增一篇文章后 修改上一篇文章的lastid 就可以

或者如果文章是有顺序的 那么每次改变顺序 也要改变这个字段。这种方法是用空间换性能 虽然有两个冗余字段 但是 如果你的数据表上亿或者上百亿的情况 那么在速度上面 会比第一种 快得不止一倍的。当然 需要程序员写的逻辑就复杂了 因为需要计算这个lastid和nextid的

2018-07-09

北盟网校上一篇和下一篇文章用sql语句怎么实现,是这样实现吗?

select top 1 * from news where newsid<id order by newsid desc


select top 1 * from news where newsid>id order by newsid asc


2018-07-09

你好 课程录制是2016年的 不过技术的话 差别不大的 现在还是很多公司都使用sqlserver2008 另外 sqlserver本身都是差不多的 不管是sqlserver12 还是sqlserver18 升级的 只是底层 和增加了一些特性 本身还是sql关系型数据库的。所以 学sqlserver2008 也是差不多的

2018-05-30

这个课程是很久的吗

2018-05-30