
数据库知识
瑞雪骄阳
这个作者很懒,什么都没留下…
展开
-
查看SQL语句的执行时间
我们通常在写某个业务处理的SQL语句时,往往会有多种写法。但是一时无法拿捏那种写法执行效率更高时,可以用下边的写法查看SQL语句的执行时间来判断那种写法效率高。------------------------------------------- set statistics profile on set statistics io on原创 2010-07-01 10:37:00 · 709 阅读 · 0 评论 -
sql语句的优化分析
开门见山,问题所在sql语句性能达不到你的要求,执行效率让你忍无可忍,一般会时下面几种情况。网速不给力,不稳定。服务器内存不够,或者SQL 被分配的内存不够。sql语句设计不合理没有相应的索引,索引不合理没有有效的索引视图表数据过大没有有效的分区设计数据库设计太2,存在大量的数据冗余索引列上缺少相应的统计信息,或者统计信息过期....那么我们如何给找出来导致性能慢的的原转载 2016-03-16 13:56:02 · 345 阅读 · 0 评论 -
sql语句技巧
1.实现行列互换问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果):姓名 语文 数学 物理---- ---- ---- ----李四 74 84 94张三 74 83 93-----------------原创 2012-07-23 15:32:19 · 1803 阅读 · 0 评论 -
数据库性能优化一:数据库自身优化(大数据量)
数据库优化包含三部分:数据库自身的优化,数据库表优化,程序操作优化.优化①:增加数据文件,设置文件自动增长(粗略数据分区)1.1:增加次数据文件 从SQL SERVER 2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些表或者一些表中的部分记录分开存储在不同的数据转载 2013-02-19 10:56:20 · 1284 阅读 · 0 评论 -
深入浅出SQL Server 2008 分区函数和分区表
当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多转载 2013-02-19 13:15:04 · 972 阅读 · 0 评论 -
数据库性能优化二:数据库表优化
优化①:设计规范化表,消除数据冗余 数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库操作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式先给大家看一下百度百科给出的定义:第一范式(1NF)无重复的列 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应转载 2013-02-19 10:58:25 · 590 阅读 · 0 评论 -
MSSQLServer 数据库日志清理
有时候当系统运行时间比较长的时候,我们把备份的数据库还原的时候发现,数据库中数据文件和日志文件变的好大,特别是日志文件。现在给大家介绍如何清理SQLServer数据库日志;有两种方法如下:方法一:手动清除sqlserver2005日志1.右键在清除日志的数据库,如“TestDB”,点击[新建查询(Q)]2.输入以下SQL语句,其中“TestDB”是数据库名称 DUMP TR原创 2012-11-16 14:43:40 · 1361 阅读 · 0 评论 -
sql常用语句总结
1. 增,删,改字段-----------------------------------------------------增加字段alter table 表名 add 字段名 字段类型 是否可为空示例: alter table student add sid int not null 更新字段alter table 表名 alter column 字段名 字段类原创 2012-09-28 17:57:14 · 666 阅读 · 0 评论 -
SQLSERVER SQL性能优化
1.选择最有效率的表名顺序(只在基于规则的优化器中有效) SQLSERVER的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,必须选择记录条数最少的表作为基础表,当SQLSERVER处理多个表时,会运用排序及合并的方式连接它们, 首先,扫描第一个转载 2012-09-29 11:48:08 · 539 阅读 · 0 评论 -
orcal 数据库 sql语句优化总结
一、操作符优化1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL原创 2012-09-28 17:43:23 · 3586 阅读 · 0 评论 -
SQL语句优化原则
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列原创 2010-06-30 14:31:00 · 511 阅读 · 0 评论 -
sql中on与where的区别
数据库在通过连接两张或者多张表返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户 在使用inner join(内连接)没有区别,但是 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。(返回左表全部记录)。此时可能会出现与右表不匹配的记录即为空的记转载 2016-05-04 18:54:41 · 416 阅读 · 0 评论