随笔分类 - 数据库性能
Oracle学习笔记2
摘要:截断表:truncate table 表名 时间操作一个月的第一天SELECT to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd') FROM dual一年的第一天SELECT to_date(to_char(SYSDATE,'yyyy')||'-01-01','yyyy-mm-dd' ) FROM dual季度的第一天SELECT to_date(to_char(SYSDATE,'yyyy-')||lpad(floor(to
阅读全文
posted @ 2014-03-03 21:46
孤狼啸月
SQL 多表查询 50例
摘要:/* 标题:一个项目涉及到的50个Sql语句(整理版)问题及描述: --1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号 --3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名 --4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数 */ --创建测试数据 create table Student
阅读全文
posted @ 2014-02-18 22:03
孤狼啸月
Mysql与Oracle的50个区别
摘要:1. 有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦. 2. Oracle不支持偏移(offset)语法. 3. Oracle的复制功能可能比MySQL更加健壮,不过也更加难以配置. 4. 对于多个Master类型的系统,大部分用户都希望你使用更加复杂也更加昂贵的Oracle RAC(虽然可能NDB更加健壮). 5. Oracle的分区功能非常健壮,但是它不是内置的,并需要专门为此付费(分区功能是在Enterprise Edition里面是内置的). 6. 在Linux/Unix上,Oracle并不象...
阅读全文
posted @ 2014-02-18 21:53
孤狼啸月
了解SQL Server触发器及触发器中的事务
摘要:在下面的内容,用到一些SQL Server 触发器和事务的一些术语,如果有些不明白的地方,可以查阅MSDN资料库,或SQL Server本地帮助文档:DML触发器(DML Triggers)DDL触发器(DDL Triggers)事务模式(Transaction modes)显式事务(Explicit Transactions)自动提交事务(Autocommit Transactions)隐式事务(Implicit Transactions)批范围的事务(Batch-scoped Transactions) After触发器 Vs Instead Of触发器 After 触发器将在处理触...
阅读全文
posted @ 2014-02-17 20:07
孤狼啸月
在程序开发中怎样写SQL语句可以提高数据库的性能
摘要:摘要:如何才能写出高性能的SQL语句,以下的十三条法则值得你去注意。比如什么是执行计划?为什么要统一SQL语句的写法等等。 1、 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择索引查找方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用全表扫描方式。 可见,执行计划并不是固定的,它是个性化的。产生一个正确的执行计划有两点很重要: (1) SQL语句是否清晰地告诉查询优化器它想干什么? ...
阅读全文
posted @ 2014-02-16 19:02
孤狼啸月
ORACLE PL/SQL编程之把过程与函数说透
摘要:继上篇:ORACLE PL/SQL编程之八:把触发器说透得到了大家的强力支持,感谢。接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的。 本篇主要内容如下: 6.1引言 6.2创建函数 6.3存储过程 6.3.1创建过程 6.3.2调用存储过程 6.3.3AUTHID 6.3.4PRAGMA AUTONOMOUS_TRANSACTION 6.3.5开发存储过程步骤 6.3.6删除过程和函数 6.3.7过程与函数的比较 6.1引言 过程与函数(另外还有包与触发器)是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此...
阅读全文
posted @ 2014-02-13 20:56
孤狼啸月
给数据减肥 让MySQL数据库跑的更快
摘要:摘要:如果在比较小的列上设置索引的话,其索引所占用的资源也会比较少。那么数据库管理员该如何给自己的数据减肥呢?对此笔者有如下几个建议。 在数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用、也是最有效的手段之一。因为缩小数据,相对来说可以提高硬盘的读写速度,并且在查询过程中小表的内容处理时所占用的系统资源比较少。同理,如果在比较小的列上设置索引的话,其索引所占用的资源也会比较少。那么数据库管理员该如何给自己的数据减肥呢?对此笔者有如下几个建议。 建议一:空值并不一定不占用空间 在这里笔者先给大家扫盲一下。有些数据库管理员,认为空值不会占用系统资源,其实这是一...
阅读全文
posted @ 2014-02-13 20:17
孤狼啸月
MySQL转换Oracle的七大注意事项
摘要:摘要:当MySQL数据库不能承载我们的大量需求,就需要将MySQL数据库中的数据迁入Oracle数据库,而在此过程中,有一些问题是值得我们注意的。 有很多应用项目, 刚起步的时候用MySQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MySQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有MySQL转换Oracle的需求,应用程序也要相应做一些修改。下面总结出MySQL转换Oracle的几点注意事项,希望对大家有所帮助。 1.自动增长的数据类型处理 MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,...
阅读全文
posted @ 2014-02-12 09:20
孤狼啸月
DBA必备:MySQL数据库常用操作和技巧
摘要:摘要:MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老MySQL DBA总结了MySQL数据库最常见和最常使用的一些经验和技巧,与分享大家! MySQL数据库可以说是DBA们最常见和常用的数据库之一,MySQL的广泛应用,也使更多的人加入到学习它的行列之中。下面是老MySQL DBA总结的MySQL数据库最常见和最常使用的一些经验和技巧,分享给大家! 一、MySQL数据库的备份 使用MySQL数据库,最常用也是最重要的就是数据库备份了,所以我们先介绍数据库备份。进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQ...
阅读全文
posted @ 2014-02-11 20:27
孤狼啸月
SQL Server优化50法
摘要:虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决。 查询速度慢的原因很多,常见如下几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)I/O吞吐量小,形成了瓶颈效应。没有创建计算列导致查询不优化。内存不足网络速度慢查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)sp_lock, sp_who, 活动的用户查看,原因是读写竞争资源。返回了不必要的行和列查询语句不好,没有优化 可以通过如下方法来优化查询 :把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以..
阅读全文
posted @ 2014-02-11 20:15
孤狼啸月
SQL Server数据库损坏、检测以及简单的修复办法
摘要:简介 在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也同样如此,或许几年内您没有遇见过数据库中出现这类情况,而一旦遇见这类情况,往往伴随着数据的丢失,宕机,严重甚至您本身的职业生涯也会受到影响。因此对于这类情况,我们需要了解数据库损坏方面的知识,以便我们能够事前准备,事后能够处理。本篇文章会对数据库损坏的原因、现象、事前和事后的一些处理方法以及简单的修复方法进行探讨。数据库为什么会损坏? 在了解数据库损坏之前,首先我们要了解SQL Server是如何将数据保
阅读全文
posted @ 2014-02-11 15:12
孤狼啸月
高手详解SQL性能优化十条建议
摘要:1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。b、直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个临时表里头,然后再用临时表去做复杂关联2.索引问题在做性能跟踪分析过程中,经常发现有不少后台程
阅读全文
posted @ 2014-02-11 14:15
孤狼啸月
谈谈被大家过于在乎的性能
摘要:软件开发者最初为了做出某种功能而努力着。当有一天,开发者们掌握了开发的门道,实现功能已经家常便饭了。于是人们开始考虑更多问题,性能就是一个问题。通常2-4年工作经验的开发者会很纠结这个问题,但由于基础参差不齐,对性能的理解也大不相同。那些年也许我们过于在乎性能问题了。误区一:O/RM工具影响性能发现很多人喜欢拿O/RM工具讨论性能,害怕引入ORM工具以后带来损失性能的问题,不过据我所知目前一些主流的ORM工具性能都半斤八两,ORM工具之间的比较不是性能问题,而是使用习惯的问题。ORM与原生ADO.NET比较,肯定会损失一定的性能,但是带来了提高开发效率的优势。据我所知,很多同行做着的OA、ER
阅读全文
posted @ 2014-02-11 11:04
孤狼啸月
浙公网安备 33010602011771号