随笔分类 - sql
摘要:前言下面记录了我在Linux环境下安装Mysql的完整过程,实操记录,只为让更多人少踩坑,本次安装版本为:mysql-5.7.30,64位操作系统官网下载地址:mysql-5.7.30-el7-x86_64.tar.gz百度网盘地址:百度网盘地址 提取码:lyqh 1、安装前准备检测系统是否自带my
阅读全文
摘要:转自https://blog.csdn.net/weixin_44145478/article/details/107079176 mysql文档中对于dual表的解释: You are allowed to specify DUAL as a dummy table name in situati
阅读全文
摘要:https://blog.csdn.net/netuser1937/article/details/53782921?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
阅读全文
摘要:本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL
阅读全文
摘要:转自:http://www.cnblogs.com/huangxincheng/p/4227483.html 很久以前我们在写sql的时候,最怕的一件事情就是sql莫名奇妙的超级慢,慢的是撸一管子回来,那个小球还在一直转。。。这个着急也只有当事人才 明白,后来听说有个什么“评估执行计划“,后来的后来
阅读全文
摘要:转自:http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。 1.1 什么是索引? SQL索
阅读全文
摘要:转自:http://blog.csdn.net/roy_88/article/details/2682044
阅读全文
摘要:转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_na
阅读全文
摘要:-------总结:用SCOPE_IDENTITY()函数靠谱@@IDENTITY (Transact-SQL) 返回最后插入的标识值的系统函数。备注 在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值。如果语句未影响任何包含标...
阅读全文
摘要:1创建存储过程create PROCEDURE [dbo].[UP_Export_Data_To_CSV]@Table NVARCHAR(255),@Path NVARCHAR(255),@Subfix NVARCHAR(50),@Server VARCHAR(20),@User VARCHAR(2...
阅读全文
摘要:转自:http://tech.it168.com/a2012/0110/1300/000001300144.shtml随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成...
阅读全文
摘要:动态的行转列 原理就是 把需要转成列的行拼出来DECLARE @fieldName VARCHAR(1000);SET @fieldName='';SELECT @fieldName = @fieldName + t.GradingElementName FROM ( SELECT DISTINCT ge.GradingElementName FROM dbo.A_GradingElement ge ) t;PRINT @fieldName;...
阅读全文
摘要:http://database.51cto.com/art/201108/285250.htmSQL Server数据库中,PIVOT在帮助中这样描述滴:可以使用 PIVOT 和UNPIVOT 关系运算符将表值表达式更改为另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值。测试用的数据及表结构:CREATE TABLE ShoppingCart( [Week] INT NOT NULL, [TotalPrice] DECIMAL ..
阅读全文
摘要:转自:http://www.cnblogs.com/fengxiang/p/3437517.htmlSQL Server性能优化的一些常用脚本,适用于SQL Server 2008,更高的版本某些系统表的字段有所不同,建议参考MSDN。死锁相关/****************************************1. 查询当前DB的锁分配情况Phoenix.Feng 2012-12-01****************************************/SELECT request_session_id, resource_type, request_status,
阅读全文
摘要:1.简介:SQL Server 2005中的窗口函数帮助你迅速查看不同级别的聚合,通过它可以非常方便地累计总数、移动平均值、以及执行其它计算。窗口函数功能非常强大,使用起来也十分容易。可以使用这个技巧立即得到大量统计值。窗口是用户指定的一组行。 开窗函数计算从窗口派生的结果集中各行的值。2.适用范围:排名开窗函数和聚合开窗函数.也就是说窗口函数是结合排名开窗函数或者聚合开窗函数一起使用OVER子句前面必须是排名函数或者是聚合函数3.例题:--建立订单表create table SalesOrder(OrderID int,--订单idOrderQty decimal(18,2)--数量)go-
阅读全文
摘要:WITH vep AS ( SELECT package.OrderCode , RANK() OVER ( PARTITION BY package.OrderCode ORDER BY package.ID ) AS Index , COUNT(1) OVER ( PARTITION BY package.OrderCode ) AS Count FROM dbo.BookPackages package WITH ( NOLOCK )...
阅读全文
摘要:下面的例子和SQL语句均在SQL Server 2008环境下运行通过,使用SQL Server自带的AdventureWorks数据库。转载请注明此文原创自CSDN TJVictor的专栏:http://blog.csdn.net/tjvictor/archive/2009/07/08/4331039.aspx1.ROW_NUMBER()基本用法:SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumberFROM Sales.SalesOrderHeader结果集:SalesO
阅读全文
摘要:本文来自http://blog.sina.com.cn/s/blog_8b7263d10101dcfq.html排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数: 1.row_number 2.rank 3.dense_rank 4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示: 图1 其中field1字段的类型是int,field2字段的类型是varchar 一、row_number row_number函数的用途是非常广泛,这个函数的功能是...
阅读全文
摘要:继上一节对比两条查询,第一是用了with as 第二条语句没用with as 查看执行计划的效果WITH vep AS ( SELECT package.OrderCode , RANK() OVER ( PARTITION BY package.OrderCode ORDER BY package.ID ) AS Index , COUNT(1) OVER ( PARTITION BY package.OrderCode ) AS Count F...
阅读全文
摘要:本文内容一部分来自:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只
阅读全文