随笔分类 - 数据库
摘要:一个项目的运行,总伴随着性能问题,系统查询过慢,如何快速查询等 下面将简单讲解一下,如何去排查及解决这些问题。 开发过程中: 1:不要绝对的三范式,适当建立冗余能够提高查询速度,不用多表关联 2:能用表关联就不要出现循环SQL 例子:下面的这种情况,每查出T_t1的一条数据,就会循环查找T_t2中的
阅读全文
摘要:事务是什么?事务关键在与其原子性。原子性概念是指可以把一些事情当作一个执行单元来看待。从数据库角度看待。他是指应该全部执行或者全部不执行一条或多条语句的最小组合。当处理数据时候经常确保一件事发生另一件事也随之发生。或者二件事都不发生。实际上可能达到程度是有几十件事情或者更多的事情都必须一起发生或者都
阅读全文
摘要:UDF和存储过程很类似,用户自定义函数是一组有序的T-SQL语句,这些语句被预先优化和编译,并且可以作为一个单元来测试调用。UDF和存储过程的主要区别在于结果返回方式,为了能支持更多返回值,UDF比存储过程有跟多限制。 UDF基本语法:CREATE FUNCTION <function name>
阅读全文
摘要:什么是脚本。我们前面学的CREATE TABLE <table name> ,USE <database name>这些都是脚本,为什么用脚本。脚本存储到文件中并且可以重复利用和提取的文件。 创建变量: DECLARE语句最常用的语法: DECLARE @<variable name> <varia
阅读全文
摘要:存储过程(stored procedure)有时候称为sproc,它是真正的脚本-或者更准确的说,他是批处理(batch)-它存储于数据库中,而不是淡出的文件中。无论如何,这个比较并不是很确定。存储过程有输出参数,输入参数已及返回值等。而脚本不会有这些内容。 存储过程基本语法:CREATE PROC
阅读全文
摘要:视图实际上就是一个存储查询,重点是可以混合和匹配来自基本表(或其他视图)的数据,从而创建在很多方面象另一个普通表那样的起的作用。可以创建一个简单的查询,仅仅从一个表(另一个视图)选择几列或几行,而忽略其他行或列,或者也可以创建一个复杂查询。连接几个表查询,使得这些连接查询看起来更像一个表。 对视图的
阅读全文
摘要:上一篇介绍到查询。这一篇主要讲连接查询,将介绍INNER JOIN,OUTER JOIN(LEFT和RIGHT),FULL JOIN,CROSS JOIN。 连接顾名斯义就是把多个数据表数据合并到一个结果集。 用内部连接检索匹配的数据(inner join) 连接结构语法如下:SELECT <col
阅读全文
摘要:本章主要讲如何使用脚本创建数据库;如何使用脚本创建表;如何删除对象和修改对象. CREATE 语句:CREATE <object type> <onject name> 创建数据库基本语法:CREATE DATABASE <database name> ON [PARIMARY] ( [NAME=<
阅读全文
摘要:使用SQL查询: SQL查询基本语法: SELECT [ALL|DISTINCT] [TOP (<expression>) [PERCENT] [WITH TIES] ] <column list> [FROM <source table(s)/view>] [WHERE <restrictive
阅读全文
摘要:今天是我第一天开通博客,也是我的第一篇博客。以后为大家带来第一篇关于学习技术性文章,这段时间会为大家带来是SQL入门学习。希望大家坚持读下去,因为学历有限。我也是初学者。语言表达能力不好和知识点不足,我写的不好,希望大家多多包涵。主要分享给那些想学SQL一个入门教程。主要是T-SQL语言为主。学完这
阅读全文
摘要:上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需要用到表联接。 和之前的UNION组合查询不同,UNION是将不同的表组合起来,也就是纵向联接,说白了就是竖着拼起来。 而表联接是通过笛卡尔乘积将表进行横向联接,所谓的通过笛卡尔乘积简单说就是两表的行依次相联再相加。要
阅读全文
摘要:聚合函数:SQL中提供的聚合函数可以用来统计、求和、求最值等等。分类:–COUNT:统计行数量–SUM:获取单个列的合计值–AVG:计算某个列的平均值–MAX:计算列的最大值–MIN:计算列的最小值首先,创建数据表如下:执行列、行计数(count):标准格式SELECT COUNT() FROM 其...
阅读全文
摘要:首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述。添加新数据:INSERT INTO () VALUES ()如:INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛...
阅读全文
摘要:首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉。 前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句。SQL语句虽不能说很多,但稍有时间不写就容易出错。博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来。"SQL"是 "Structu...
阅读全文
摘要:要想很好地优化ERP系统,可以从客户端、服务器、网络等入手,对于我们M1系统的优化来说,SQL 语句的优化就起到很重要的作用了。为此,我们展开,学习了SQL SERVER2008的事件探查器(SQL SERVER PROFILEr),方便我们对系统优化前后速度与性能的对比。 如何进入事件探查器:开始...
阅读全文
摘要:最近因为要开发大数据量网站,特作比较。Linq to SQL 查询 记录数:399997Linq to SQL 查询 Milliseconds:1910视图查询 记录数:399997视图查询 Milliseconds:3435Entity Framework 查询 记录数:400000Entity ...
阅读全文
摘要:CREATE procedure [dbo].[sp_who_lock]asbegindeclare @spid int,@bl int, @intTransactionCountOnEntry int, @intRowcount int, @in...
阅读全文
摘要:数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。1、 在业务密集的SQL当中尽量不采用IN操作符2、 不使用not in 因为它不能应用表的索引。用not exists 或(外连接+判断为空)代替3、 不使用,因为用它只会产生全表扫描。(a0改为a>0 or a0)5、 用...
阅读全文
摘要:大学的数据库忘记了,再学习一下。 构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、...
阅读全文
摘要:1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计...
阅读全文