SQL管理过程中踩过的那些坑
点击关注上方“SQL数据库开发”,
设为“置顶或星标”,第一时间送达干货
作者:Woodytu
https://www.cnblogs.com/woodytu/p/5280838.html
答:页或page,8kb大小,上一层是区,一个区有8个页,共64k。
答:堆表没有聚集索引,非堆表有,看具体情况,可以是聚集索引和非聚集索引。
答:总的有聚集索引和非聚集索引,另外有覆盖索引和过滤索引。
聚集索引和非聚集索引都是B树结果,区别是聚集索引的叶子节点保存的是表的聚集键,非聚集索引根据所在表的不同,如果在聚集表(表里已经有一个聚集索引),则页子节点保存的是指向聚集索引的聚集键,如果在堆表(没有索引),则叶子节点保存的是RID(即文件号:页号:槽号)。
覆盖索引是非聚集索引的叶子节点也保存了要查询的列,可以用来避免书签查找。过滤索引包含条件的索引,这些索引只针对符合条件的数据进行建立,可以针对命中这些条件的记录提高查询效率。
答:4个,mater,model,msdb,tempdb。
其实还有两个系统数据库,一个是Resource Database,另一个是distribution(建了复制才有)。
答:看下执行计划,看看是不是缺少索引,还是统计信息过期,还是具体的查询语句问题。
答:从右到左,从下到上。
答:可以使用SET STATISTICS IO ON。
答:目前只了解过Profile,可以用它来跟踪SQL语句,区别不知道。
CREATE TABLE T
(ID INT IDENTITY(1,1),
aqty INT,
bqty INT)
2 2 3
3 2 1
4 3 5
....
假设数据有几百万,现在有个语句很慢:
SELECT ID
FROM T
WHERE aqty>bqty
答:可以参考下分布性查询或分布性事务
答:可以尝试取消外键约束,再用truncate后加会外键约束。
答:可以先进行一次完成备份,收缩下日志;空间允许的情况下,先修改日志文件大小,待收缩后,再还原为原来的大小。sys.dm_db_log_space_usage
答:可以的,禁用sa并不会对JOB有什么影响,依然可以正常执行。
答:一般小表用SSMS可以修改成功,大表会提示超时,只能用T-SQL语句来修改。
答:UNION会去掉重复数据,UNION ALL不会去掉重复数据,UNION会消耗更多的资源去查找并去掉重复数据。如果确认两个查询无重复记录用UNION ALL更好些,不需要去重步骤
答:network service。
答:设置host文件。必需创建证书。这是镜像在域或非域中最大的区别。
答:表必须有主键
DECLARE @demo VARCHAR
SET @demo = '你猜猜会怎样?'
SELECT @demo
DECLARE @demo VARCHAR
SET @demo = '123'
SELECT @demo
如果使用的是NVARCHAR则默认长度是2。
USE AdventureWorks
GO
DECLARE @date DATE = '2013-09-30'
SELECT SalesOrderID,
SalesOrderDetailID,
ModifiedDate
FROM Sales.SalesOrderDetail
WHERE CONVERT(VARCHAR(20), ModifiedDate, 23) = CONVERT(VARCHAR(20), @date, 23)
USE AdventureWorks
GO
DECLARE @date DATE = '2013-09-30'
SELECT SalesOrderID,
SalesOrderDetailID,
ModifiedDate
FROM Sales.SalesOrderDetail
WHERE ModifiedDate = CONVERT(datetime,@date)
答:使用临时表,临时表上可以建立索引,可以使用统计信息来优化。
完成大概5~8份文档,所以你需要有一定的文档编写水平。 协助完成数据库源代码管控任务。 逐步接手目前为止8台服务器大概60个数据库,目前只用了事务复制 常规管理包含但可能不仅限于: 一年之内逐步读完这些书
最后给大家分享我写的SQL两件套:《SQL基础知识第二版》和《SQL高级知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。
有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行
数据前线
后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群
记得帮忙点「赞」和「在看」↓
谢谢啦
评论