SQL Server

深入浅出数据库索引原理

爷,独闯天下 提交于 2020-04-22 00:38:32
前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访问量太大,加索引有可能导致写入数据时性能下降,影响用户使用的”。当时我就楞了一下, 有种强行装逼被拆穿的感觉,在自己的专业领域居然被非专业的同学教育, 面子上真有点挂不住。 其实, 我说这个例子并不是为展现我们公司的同事们专业能力的强大、做的产品棒、安全性高、性能牛逼, 连非技术的同事也懂得技术上的细节。事实上我只是想说明,「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能,而整天和技术人员打交道的非技术人员们,由于耳濡目染久了,自然也就能讲个头头是道了。 使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快

MySQL的事务隔离级别是什么?

被刻印的时光 ゝ 提交于 2020-04-22 00:33:37
😋我是平也,这有一个专注Gopher技术成长的开源项目 「go home」 背景介绍 想必事务大家都已经非常熟悉了,它是一组SQL组成的一个执行单元,要么全执行要么全不执行,这也是它的一个特性——原子性。而事务的应用场景也非常广泛,最经典的就是转账问题,A给B打钱,不能出现A钱扣了B还没收到的状况,否则业务就乱套了。 事务的特性 于是呢,根据用户对这些场景的严苛要求,总结出了事务应该具备的四个特性,分别是原子性、一致性、隔离性、持久性,简称事务的ACID属性。 原子性 Atomicity,事务是一个最小的执行单位,事务里面的SQL要么全执行,要么全不执行,就拿A与B转账为例,一条语句从A里扣钱,另一条语句往B身上加钱,如果这两条语句不能全部执行,而是成功了一部分,那事务就没有存在的意义了。 隔离性 Isolate,顾名思义就是将事务与另一个事务隔离开,为什么要隔离呢?如果一个事务正在操作的数据被另一个事务修改或删除了,最后的执行结果可能无法达到预期。如果没有隔离性还会导致其他问题,稍后会有所说明。 持久性 Durable,意为事务完成了对数据的修改之后,修改的结果是永久性生效的。 一致性 Consistent,把一致性放在最后讲的原因是前三个比较容易理解,而一致性的概念很模糊。 一致性是指事务使得应用系统从一个正确的状态到另一个正确的状态。 知乎上面一个高赞回答的很特别,原子性

GIS系统在房产信息平台中的作用

拟墨画扇 提交于 2020-04-21 23:03:42
1 项目背景 为了保护城区居民自建房屋产权人的合法权益,全面掌握城区居民自建房屋建设状况,为制定年度住宅供应计划和中长期房产发展规划提供准确可靠的依据,根据中华人民共和国《物权法》、《城市房地产管理法》、《城乡规划法》等法律法规,开展城区居民自建房屋普查工作。房屋普查工作包括房产调查、房产测绘和建立房产地理信息系统(也称房产GIS)。 2 房产调查 房产调查的目的是获取房产各种要素资料,通过确权审定、定物定质定量,认定房产及其用地产权和归属,最终建立房产各种档案,为房产管理提供可靠并能直接服务的基础资料。 房产调查以社区为单位,以丘为单元分户进行。调查权利人信息(姓名、身份证号码、工作单位、家庭人数、户口所在地);房地产现状与登记信息(土地登记信息、房屋登记信息、规划许可信息);房屋分幢信息(名称、结构、层数、建筑面积、建成年月、规划用途),以上信息完整的填写在“房屋普查登记表”内,经权利人确认内容属实后,签字确认。 3 房产测绘 房产测绘最主要的成果是房产图。房产图是房产产权、产籍管理的重要资料,也是编辑房产分幅图、分丘图和分户图的基础。按房产管理的需要,分为分幅平面图(简称分幅图)、房产分丘平面图(简称分丘图)、房产分层分户平面图(简称分户图)。 房产分幅图测绘方法采用数字测图技术,其测绘内容包括行政境界、丘界线、房屋及其附属设施、房产要素和房产编号、地形地貌要素

利用SSIS进行SharePoint 列表数据的ETL

血红的双手。 提交于 2020-04-21 14:22:52
好几年前写了一篇《 SSIS利用Microsoft Connector for Oracle by Attunity组件进行ETL! 》,IT技术真是日新月异,这种方式对于新的SQL SERVER 数据库版本已不适用了,比如SQL SERVER 2016 的SSIS不需要安装任何插件就可以抽取SharePoint 列表数据了,主要利用OData源实现读取SharePoint列表数据,比如需要抽取SharePoint test列表数据,具体如下: 该test列表数据有文件夹和项目,但实际只要抽取项目数据即可,比如11,22,fsd等,用VS 2015以上版本新建SSIS项目,并在数据流任务中添加Odata数据源获取test列表的项目数据即可,具体如下: 服务文档位置需要设置:http://<sharepoint站点url>/_vti_bin/listdata.svc,设置好后,选择集合:test 因为不需要取test列表的文件夹数据,因此需要在查询选项设置:$filter=内容类型 eq '项目' 查询选项支持的表达式类型如下: 可以根据具体的业务场景,灵活进行配置,是不是很简单?后续将继续分享几篇SSIS方面的应用,欢迎交流指正! 来源: oschina 链接: https://my.oschina.net/u/4361024/blog/3288850

利用SSIS进行SharePoint 列表数据的ETL

非 Y 不嫁゛ 提交于 2020-04-21 13:26:56
好几年前写了一篇《 SSIS利用Microsoft Connector for Oracle by Attunity组件进行ETL! 》,IT技术真是日新月异,这种方式对于新的SQL SERVER 数据库版本已不适用了,比如SQL SERVER 2016 的SSIS不需要安装任何插件就可以抽取SharePoint 列表数据了,主要利用OData源实现读取SharePoint列表数据,比如需要抽取SharePoint test列表数据,具体如下: 该test列表数据有文件夹和项目,但实际只要抽取项目数据即可,比如11,22,fsd等,用VS 2015以上版本新建SSIS项目,并在数据流任务中添加Odata数据源获取test列表的项目数据即可,具体如下: 服务文档位置需要设置:http://<sharepoint站点url>/_vti_bin/listdata.svc,设置好后,选择集合:test 因为不需要取test列表的文件夹数据,因此需要在查询选项设置:$filter=内容类型 eq '项目' 查询选项支持的表达式类型如下: 可以根据具体的业务场景,灵活进行配置,是不是很简单?后续将继续分享几篇SSIS方面的应用,欢迎交流指正! 来源: oschina 链接: https://my.oschina.net/u/4264517/blog/3288681

通过Service访问应用 (2)

筅森魡賤 提交于 2020-04-21 05:48:23
目录 通过NodePort Service在外部访问集群应用 通过LoadBalancer Service在外部访问集群应用 Microsoft SQL Server数据库部署 为了便于理解和学习,请先阅读上一篇《 通过Service访问应用 (1) 》再继续学习本篇内容。 通过NodePort Service在外部访问集群应用 这时候我们就可以使用NodePort类型的Service了。NodePort服务类型允许在每个节点的IP(任意节点IP)上使用静态端口(NodePort)公开服务,我们可以在集群之外通过请求<NodeIP>:<NodePort>来访问服务。 YAML定义如下所示: kind: Service #资源类型 apiVersion: v1 metadata: #标准元数据 name: nodeport - service #服务名称 spec: #规范定义 type: NodePort #服务类型,这里是节点端口 ports: #端口列表 - port: 80 #当前端口 nodePort: 31001 #节点端口,注意默认的端口范围为“ 30000 - 32767 ”,注意不要冲突 selector: #标签选择器 app: demo 接下来,我们来执行Service的创建并查询Service: kubectl create - f

阿里云新品发布会周刊第49期 丨 安防“后人脸”时代,AI芯片不再是单一的加速器

回眸只為那壹抹淺笑 提交于 2020-04-21 00:54:52
点击订阅新品发布会 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多新品发布会! 热门阅读 1、安防“后人脸”时代,AI芯片不再是单一的加速器 在AI安防芯片上,各种市场力量的试水即将接近尾声。近两年来,AI安防芯片掀起了热潮。仅去年一年,业内就推出了十几款AI芯片。但安防厂商在应用芯片时也发现,这些AI芯片易用性较差,单纯的算力高指标芯片,其实同质化很严重,并不适合安防场景。 于是,一场造芯的战役也随之打响 。 查看原文 2、藏经阁电子书发布会:《深入浅出Kubernetes》 在阿里云开发者社区的帮助下,这一年多写的《K8S从懵圈到熟练》系列做成了一本电子书。以下是对外发布的大纲和逐字稿。 这本书电子书实际上是我们处理阿里云海量线上真实问题的技术沉淀,所以书的内容和视角可能和大家在市面上看到的都不一样 。 查看原文 3、揭秘MySQL生态重要功能,X-Engine引擎核心能力——OnlineDDL X-Engine是阿里自研的数据库存储引擎,以插件的方式接入到MySQL生态,支持行锁,事务,MVCC等OLTP场景的核心功能。 X-Engine的核心优势是低成本,高性价比,尤其适用于历史库场景,目前阿里巴巴内部的核心交易历史库(原来是Hbase),钉钉消息历史库(原来是MySQL(InnoDB)),淘宝商家的图片空间等业务均通过X

阿里云新品发布会周刊第49期 丨 安防“后人脸”时代,AI芯片不再是单一的加速器

对着背影说爱祢 提交于 2020-04-21 00:31:03
点击订阅新品发布会 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多新品发布会! 热门阅读 1、安防“后人脸”时代,AI芯片不再是单一的加速器 在AI安防芯片上,各种市场力量的试水即将接近尾声。近两年来,AI安防芯片掀起了热潮。仅去年一年,业内就推出了十几款AI芯片。但安防厂商在应用芯片时也发现,这些AI芯片易用性较差,单纯的算力高指标芯片,其实同质化很严重,并不适合安防场景。 于是,一场造芯的战役也随之打响 。 查看原文 2、藏经阁电子书发布会:《深入浅出Kubernetes》 在阿里云开发者社区的帮助下,这一年多写的《K8S从懵圈到熟练》系列做成了一本电子书。以下是对外发布的大纲和逐字稿。 这本书电子书实际上是我们处理阿里云海量线上真实问题的技术沉淀,所以书的内容和视角可能和大家在市面上看到的都不一样 。 查看原文 3、揭秘MySQL生态重要功能,X-Engine引擎核心能力——OnlineDDL X-Engine是阿里自研的数据库存储引擎,以插件的方式接入到MySQL生态,支持行锁,事务,MVCC等OLTP场景的核心功能。 X-Engine的核心优势是低成本,高性价比,尤其适用于历史库场景,目前阿里巴巴内部的核心交易历史库(原来是Hbase),钉钉消息历史库(原来是MySQL(InnoDB)),淘宝商家的图片空间等业务均通过X

LOCALDB安装和连接

不问归期 提交于 2020-04-20 14:40:42
关于LOCALDB的详细 文档说明 ,包含安装,连接,共享连接等操作 https://technet.microsoft.com/zh-cn/hh510202 目的:   调试程序没有安装 sql server时,可以使用localdb.这是一个简易的sql server数据库,用于本地测试是很方便,省去安装SQL SERVER的工作 环境:   安装了VS2013 VS2015 MSSM2016,但没有安装sql server. W10系统 安装:localdb 安装VS2015之后,就有了localdb2016 VS2013大概是2014 ,   另外localdb2014有单独的安装包,而2016则没找到.VS2015的安装包里有LOCALDB2016的MSI文件,但是安装之后却无法使用. 使用命令查看版本,如下:    使用:   了解到localdb这个东西已经安装了,但一时不知道如何使用.网上找答案使用方式如下: 1.打开CMD,使用sqllocaldb.exe 这个命令 sqllocaldb.exe i // 查看已经有的localdb的实例 sqllocaldb.exe v // 电脑上安装的localdb的所有版本 sqllocaldb.exe s [实例名] // 启动这个实例 sqllocaldb.exe -? // 这个命令的帮助信息 2

《SQL 反模式》 学习笔记

落花浮王杯 提交于 2020-04-20 09:59:53
第一章 引言 GoF 所著的的《设计模式》,在软件领域引入了 “设计模式”(design pattern) 的概念。 而后,Andrew Koenig 在 1995 年造了 反模式(anti-pattern) (又称反面模式)这个词,灵感来自于 GoF 所著的的《设计模式》。 反模式指的是在实践中经常出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。它们已经经过研究并分类,以防止日后重蹈覆辙,并能在研发尚未投产的系统时辨认出来。 所以,反模式是特殊的设计模式,而这种设计模式是欠妥的,起到了反效果。 但有的时候,出于权衡考量,也会使用反模式。 例如数据库的结构中使用的 反规范化 设计。 下面的每一章,都会列举一种特定场景下的反模式,然后再给出避免使用反模式的建议。 有个别章节,我略去了反模式,直接写解决方案了。 第二章 乱穿马路 假设有 Product 和 Account 两个实体。 1、一对一关系 假设:Product 只有一个 Account(即 Account 也只有一个 Product)。 方案:只用 一张表 ,用两个字段(Product + Account)关联即可。 如无必要,就别用多个表,这会增加复杂度(除非考虑未来的拓展性等其他情况)。 2、一对多关系 假设:Product 可以有多个 Account。 方案1: 两张表 ,一个 Product