SQL Server

SQL SERVER 行列转换(动态)

╄→尐↘猪︶ㄣ 提交于 2020-10-31 05:34:17
行转列测试数据: --测试数据 if not object_id(N'Tempdb..#T') is null drop table #T Go Create table #T([Name] nvarchar(22),[Subject] nvarchar(22),[Score] int) Insert #T select N'李四',N'语文',60 union all select N'李四',N'数学',70 union all select N'李四',N'英语',80 union all select N'张三',N'语文',90 union all select N'张三',N'数学',80 union all select N'张三',N'英语',70 Go --测试数据结束 动态写法(加上了总分和平均分): DECLARE @sql VARCHAR(MAX) SET @sql = 'select Name' SELECT @sql = @sql + ',max(case Subject when ''' + Subject + ''' then Score else 0 end)[' + Subject + ']' FROM ( SELECT DISTINCT Subject FROM #T ) a SET @sql = @sql + ',sum(Score) 总分

收好这张MySQL导图,全是知识点!

时间秒杀一切 提交于 2020-10-31 02:03:42
感谢阅读,直接上干货!最新整理的 MySQL知识点全图,完整系统超3万字。直接跳转文末,下载源文件! 开源跨平台的.NET Core越来越热门了,腾讯、网易、顺丰等大厂都在招聘,而且都开始明确要求MySQL了,而不是SQL Server了。究其根本,还是跨平台后解决方案的一致性决定的,虽然SQL Server现在也支持Linux了,但MySQL跟Linux+.NET Core更配!很多.NET开发者对Linux+MySQL+Docker不太熟悉,下面给大家整理了下。 ✕ ✕ MySQL全技术栈 ✕ ✕ MySQL是在90年代中期开发的,是最早的开源数据库之一。开源和免费让开发人员可以轻松地开始使用MySQL,甚至在需要的时候还能修改代码实现定制。下图是最新梳理的MySQL入门技术栈需要的东西,一张图完成MySQL全部学习(内容太多看不清所以做了缩放,文章底部提供了思维导图源文件) 【内容太多看不清 文末下载源文件】 ✕ ✕ 读写分离配置 ✕ ✕ 读写分离配置是产品级项目必备的了,既然要用MySQL了,这套也是必须的,下面详细记录了操作过程: 1 基础设置准备 2 安装mysql数据库 3 在两台数据库中分别创建数据库 4 在主(node1)服务器进行如下配置 5 配置从服务器登录主服务器的账号授权 6 从服务器的配置 7 重启主服务器的mysqld服务 8

太绝了!晋级必备MyCat性能调优笔记,图文并茂,细节好评

眉间皱痕 提交于 2020-10-30 15:59:16
什么是mycat 它是阿里开源的一个数据库中间件,专门为大数据量的项目做分库分表用的。有如下特点: 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 mycat展望 MyCat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型NoSQL 方式的存储,未来还会支持更多类型的存储。 mycat笔记 给大家着重收集并整理了这份关于开源数据库中间件MyCat使用及原理的源码+笔记+项目实战的资料。本资料文将全面的从MyCat基础,高级,集群,监控,架构剖析来讲解MyCat,并通过一个案例来演示在实际开发中,应该如何来实现MyCat进行数据库的分片操作。通过本资料的学习,我们能够全面的掌握MyCat的使用及原理。 以上就是资料包含的内容,下面小编会展示目录和详细内容截图,有需要完整版源码+笔记的朋友, 点击获取 !! 彻底开源技术MyCat入门到开发

11种Azure成本优化最佳实践

醉酒当歌 提交于 2020-10-30 07:59:25
像Microsoft Azure这样的基于云的存储解决方案的成本取决于使用情况,因此,无论您已经迁移到Azure,制定计划还是只是考虑成本影响,我们都提出了13条实用技巧帮助您省钱。 1.使用正确的购买选项 选项一:直接使用微软服务 您可以使用即付即用订阅,如果您是大型组织,则可以查看企业协议(Enterprise Agreement)和服务协议(Services Agreement)。 选项二:使用云解决方案提供商(CSP) 与直接与Microsoft交易相比,使用CSP通常具有许多其他好处,并且可以带来更好的整体服务,同时降低成本。 2.使用试用许可证开始 有很多服务(例如Azure Active Directory Premuim P2)可以作为限时试用开始。这样可以为您节省至少一个月的产品许可费用,因此值得在购买之前先查看是否提供了试用版。 3.正确调整虚拟机(VM)的大小 这看起来似乎很明显,但是请确保在创建虚拟机时正确调整其大小,以从一开始就节省大量资金。累积成本很容易很快就失控,因此请密切监视其使用情况,以便在可能的情况下缩减成本。 4.尽可能关闭您的VM 确保使用自动关机功能。如果在特定时间不需要VM或仅按需使用VM,则可以通过关闭VM来节省成本。通过门户网站的“自动关闭”区域安排此时间,这是确保您不会产生不必要的支出的好方法。这也可以使用Automation实现。

1、索引的概念和分类

纵饮孤独 提交于 2020-10-30 01:40:44
1、 什么是索引 答: 索引是对数据库表中的一列或者多列的数据进行排序的一种结构,使用索引可快速访问数据表中的特定信息。 比如中国移动里边的表数据可能达到上亿,这样查询数据用索引就派上了用场,因为使用索引可以快速检索数据。 2、 索引的分类 答: <1>从物理结构上 分为两类:聚集索引和非聚集索引。 聚集索引 是指 索引的键值的逻辑顺序决定了表中相应行的物理顺序。 注意:一个表中只能有一个聚集索引。 比如 一个学生表有两列:姓名和班级。那他的索引顺序对应着表的顺序。 他的使用范围是: ( 1)范围查询:使用运算符(如between、>、<=等),返回一系列的值 ( 2)查询连续的值:如一月份的数据、二月份的数据 ( 3)返回大型结果集:注意,通过索引检索的数据一般控制在表中总量的20%以下, 因为当索引数据量过大时,那么系统将不会使用该索引。 ( 4)在order by或group by子句中指定的列 非聚集索引 :非聚集索引通过索引记录地址访问表中的数据。索引的逻辑顺序和表中行的物理存储顺序不同。 注意:一个表中可以有多个非聚集索引。 他的适用情况是: (1) 使用 join或者group by的子句 (2)不返回大型结果集的查询 (3) 经常包含在查询的搜索条件(例如返回完全匹配的 where子句)中的列。 <2> 从应用上分 ,分为 主键索引、唯一索引、全文索引和组合索引。

使用“sql”查询excel

帅比萌擦擦* 提交于 2020-10-29 14:20:18
刚学会一招 因需要使用excel做数据源,工具上写着要写sql来查询,虽然熟练掌握了oracle,mysql,mssql上的sql语法,头一遭写excel上的,百思不得其解 后百度了一下,原来真的很简单,就酱紫 column就是excel里的第一行抬头,from后面跟的是 [sheetname$] ,千万不要忘记这个 $ 符号 来源: oschina 链接: https://my.oschina.net/dkexcellent/blog/4694261

Python模块-pymssql

独自空忆成欢 提交于 2020-10-29 06:58:59
[TOC] Python默认的数据库是 SQLlite,不过它对MySql以及SQL server的支持也可以。如果想链接操作SQL server,需使用第三方包 pymssql pymssql 是一个Python的数据库接口,基于FreeTDS构建,对_mssql模块进行了封装,遵循Python的DBAPI规范,而FreeTDS是一个C语言连接sqlserver的公共开源库 工作原理 使用connect创建连接对象; connect.cursor创建游标对象,SQL语句的执行在游标上执行; cursor.execute()方法执行SQL语句,cursor.fetch()方法获取查询结果; 如果有反向修改,需执行connect.commit(); 调用close方法关闭游标cursor和数据库连接; 注意: https://www.cnblogs.com/baiyangcao/p/pymssql_basic.html 一个连接一次只能有一个游标的查询处于活跃状态! 可以通过使用 with 语句来省去显示的调用 close 方法关闭连接和游标 pymssql 2.0.0 以上的版本可以通过 cursor.callproc 方法来调用存储过程 常用封装 class MSSQL: # 类的构造函数,初始化数据库连接ip或者域名,以及用户名,密码,要连接的数据库名称 def __init_

把.net Core 项目迁移到VS2019 for MAC

核能气质少年 提交于 2020-10-28 09:36:02
https://yq.aliyun.com/articles/748435 把.net Core 项目迁移到VS2019 for MAC VS2019 for MAC已经发布很长时间了,本以为项目移过去很麻烦,一直没有动作,最近呆家里快发霉了,决定研究研究,没想到一句代码都不需要动,直接完功,这下可以生产了。同学们可以放心整了。 本次平台的需求: MAC OS : mac OS Catalina 10.15.3 VS 2019 : VS for Mac community 8.4.8 .net Core : Core 3.1 Sql Server : Docker Sql Server 2019 原平台: windows 10+vs2019 community+ core3.1 + sql server 2019 ========================= 一、安装VS 2019 下地地址: https://visualstudio.microsoft.com/zh-hans/downloads/ 这里不管你下载的是专业版,社区版,还是企业版,安装完成都是社区版,用你的ID登陆后,才会改变版本 安装很快完成,上手基本没有难度,和win版一样,宇宙最强IDE 测试新建一个项目运行,没有问题。可是之前的项目是sql server 的。于是开始使用Docker

把.net Core 项目迁移到VS2019 for MAC

非 Y 不嫁゛ 提交于 2020-10-28 09:15:16
https://yq.aliyun.com/articles/748435 把.net Core 项目迁移到VS2019 for MAC VS2019 for MAC已经发布很长时间了,本以为项目移过去很麻烦,一直没有动作,最近呆家里快发霉了,决定研究研究,没想到一句代码都不需要动,直接完功,这下可以生产了。同学们可以放心整了。 本次平台的需求: MAC OS : mac OS Catalina 10.15.3 VS 2019 : VS for Mac community 8.4.8 .net Core : Core 3.1 Sql Server : Docker Sql Server 2019 原平台: windows 10+vs2019 community+ core3.1 + sql server 2019 ========================= 一、安装VS 2019 下地地址: https://visualstudio.microsoft.com/zh-hans/downloads/ 这里不管你下载的是专业版,社区版,还是企业版,安装完成都是社区版,用你的ID登陆后,才会改变版本 安装很快完成,上手基本没有难度,和win版一样,宇宙最强IDE 测试新建一个项目运行,没有问题。可是之前的项目是sql server 的。于是开始使用Docker

MSSQLSERVER执行计划详解

一曲冷凌霜 提交于 2020-10-27 18:25:35
序言 本篇主要目的有二: 1、看懂t-sql的执行计划,明白执行计划中的一些常识。 2、能够分析执行计划,找到优化sql性能的思路或方案。 如果你对sql查询优化的理解或常识不是很深入,那么推荐几骗博文给你: SqlServer性能检测和优化工具使用详细 , sql语句的优化分析 , T-sql语句查询执行顺序 。 执行计划简介 1、什么是执行计划? 大哥提交的sql语句,数据库查询优化器,经过分析生成多个数据库可以识别的高效执行查询方式。然后优化器会在众多执行计划中找出一个资源使用最少,而不是最快的执行方案,给你展示出来,可以是xml格式,文本格式,也可以是图形化的执行方案。 2、预估执行计划,实际执行计划 选择语句,点击上面其中一个执行计划,预估执行计划可以立即显示,而实际执行计划则需要执行sql语句后出现。预估执行计划不等于实际执行计划,但是绝大多数情况下实际的执行计划跟预估执行计划都是一致的。统计信息变更或者执行计划重编译等情况下,会造成不同。 SET STATISTICS PROFILE 和 SET STATISTICS XML 彼此互为对等物。 前者生成文本输出;后者生成 XML 输出。 在 SQL Server 的未来版本中,新的查询执行计划信息将只通过 SET STATISTICS XML 语句显示,而不通过 SET STATISTICS PROFILE 语句显示。