最近在给一个客户做调优的时候发现一个很有意思的现象,对于一个复杂查询(涉及12个表)建立必要的索引后,语句使用的IO急剧下降,但执行时间不降反升,由原来的8秒升到20秒。 通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用...
分类:
数据库 时间:
2014-07-18 08:01:44
阅读次数:
346
SQL Mode 常用来解决下面几类问题: 1、通过设置 SQL Mode ,可以完成不同严格程度的数据校验,有效地保障数据准确性。 2、通过设置 SQL Mode 为 ANSI 模式,来保证大多数 SQL 符合标准的 SQL 语法,这样应用在不同数据库之间进行迁移时,则不需要对业务 SQL 进行....
分类:
数据库 时间:
2014-07-18 00:39:13
阅读次数:
298
原帖地址:http://www.cnblogs.com/yunfeifei/p/3850440.html#undefined1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否...
分类:
数据库 时间:
2014-07-17 18:17:16
阅读次数:
338
MySQL是一个开源的数据库系统,近些年来使用率越来越高,目前属于Oracle公司所有,其拥有MySQL的商标,属于主流版本,由于其开源特性,出现了一些分支,常见的有MariaDB、Percona Server、Drizzle。这三个版本各有其特点。其中目前最流行的是MariaDB,很多Linu.....
分类:
数据库 时间:
2014-07-18 00:30:11
阅读次数:
337
一.导出1.导出整个数据库通用命令:exp 数据库用户名/数据库密码@数据库别名 file=E:\目录\文件名.dmp举例:exp gwyxgldb /gwyxgldb @192.168.0.31 file=d:\gwyxgldb.dmp2.导出部分表通用命令exp 数据库用户名/数据库密码@数据库...
分类:
数据库 时间:
2014-07-18 00:26:07
阅读次数:
235
之前 , 不使用 maven 管理 jar 包的时候 , 链接 SQL Server 数据库的时候用的都是 sqljdbc4.jar 驱动包 , 刚用 maven 做测试的时候 , 到中央仓库找不到 sqljdbc4.jar 的坐标 ,到网上搜了一下 , 说是可以用jtds 通过 jdbc 来链接 ...
分类:
数据库 时间:
2014-07-18 00:24:48
阅读次数:
299
只要是两张以上的表关联查询的时候,就会返回一个笛卡尔乘积,数据库会去掉那些冗余的数据,只返回有用的数据。我们用左连接和右连接查询的时候就会把那些冗余的数据也查询出来,还有双向连接也是。Oracle数据库的左连接和右连接在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: S...
分类:
数据库 时间:
2014-07-17 23:38:39
阅读次数:
415
SQL Server主键的写法:--列级create table dept(dept_no int primary key,dept_name nvarchar(20) not null)--表级create table dept(dept_no int not null,dept_name nva...
分类:
数据库 时间:
2014-07-17 23:36:30
阅读次数:
400
本文由秀依林枫提供友情赞助,首发于烂泥行天下。 为了能更好的利用服务器,所以打算把该业务进行迁移。因为该业务比较特殊,需要服务器上有相应的硬件支持,所以打算直接升级该服务器目前的操作系统。目前公司服务器使用的windows server 2003 32bit企业版。如果使用虚拟机的话,只能安装32b...
分类:
数据库 时间:
2014-07-17 18:32:52
阅读次数:
300
一、我们遇到了什么问题 在标准SQL里面,我们通常会写下如下的SQL insert语句。 INSERT INTO TBL_TEST (id) VALUES(1);很显然,在MYSQL中,这样的方式也是可行的。但是当我们需要批量插入数据的时候,这样的语句却会出现性能问题。例如说,如果有需要插入1000...
分类:
数据库 时间:
2014-07-17 23:31:17
阅读次数:
429
触发器是一种特殊的存储过程,它在插入,删除或改动特定表中的数据时触发运行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有下面的作用:1.安全性。能够基于数据库的值使用户具有操作数据库的某种权利。# 能够基于时间限制用户的操作,比如不同意下班后和节假日改动数据库数据。# 能够基...
分类:
数据库 时间:
2014-07-17 18:33:25
阅读次数:
278
文本如下:#日期 流水号 被浏览页面URL 第×页 访问者IP 访问时间 是否入口 操作系统 浏览器 语言 时区 屏幕分辨率 屏幕色彩位数 省份 城市 接入商 上网场所 是否安装ALEXA2014-7-17 11452775496 http://www.imaibo.net/space/1781.....
分类:
数据库 时间:
2014-07-17 18:34:14
阅读次数:
353
什么是索引?索引用来快速地寻找那些具有特定值的记录。索引是加速查询主要手段,索引是快速定位数据的技术。索引是一种特殊的文件(innoDB(事务性数据库的首选引擎)数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引:一种特殊的目录,聚集索引和非聚集索引聚集索引:如同字...
分类:
数据库 时间:
2014-07-17 18:34:43
阅读次数:
279
#coding:utf8###########firefly、MySQL和Memcached共同使用###########from firefly.dbentrust.dbpool import dbpoolfrom firefly.dbentrust.memclient import mclien...
分类:
数据库 时间:
2014-07-17 23:26:18
阅读次数:
230
本文由秀依林枫提供友情赞助,首发于烂泥行天下。 服务器的迁移,因为业务使用的数据库是SQL Server 2005,所以就要首先对数据库进行备份。 备份可以分为手动备份和自动备份,我们先来介绍手动备份。 打开SQL Server Management Studio, 点击要备份的数据库—“任务”—“...
分类:
数据库 时间:
2014-07-17 18:37:28
阅读次数:
229
若要在i≤R≤j这个范围得到一个随机整数R,需要用到表达式 FLOOR(i+ RAND() * (j–i+ 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句:SELECT FLOOR(7 + (RAND() * 6));FLOOR(i+ RAND() *...
分类:
数据库 时间:
2014-07-17 23:18:18
阅读次数:
381
1.通过ado.net连接(数据库连接串中为中文貌似无法使用) 需要添加MySql.Data.dll(可通过安装mysql-connector-net-6.8.3.mis获得) 引用MySql.Data.dll 调用方式string connectionString= “server=loca...
分类:
数据库 时间:
2014-07-17 23:10:35
阅读次数:
409
花一天半的时间解决客户端连接服务端的oracle数据库,无法连接问题。ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not exist分析:前几天还可以连接数据库,但是昨...
分类:
数据库 时间:
2014-07-17 23:04:46
阅读次数:
2871
七月 17, 2014 4:56:01 下午 org.apache.catalina.core.StandardWrapperValve invokeSEVERE: Servlet.service() for servlet [dispatcher] in context with path [] ...
分类:
数据库 时间:
2014-07-17 22:28:55
阅读次数:
777
BDB (Berkeley DB)数据库简介(转载) DB最初开发的目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现(如AT&T的dbm,Berkeley的ndbm,GNU项目的gdbm),DB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,B...
分类:
数据库 时间:
2014-07-17 22:26:54
阅读次数:
387