
数据库
文章平均质量分 78
talentluke
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Oracle创建用户、表空间、导入导出、...命令
//创建临时表空间create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048mextent management local;//创建数据表空间crea...原创 2012-01-02 01:40:24 · 116 阅读 · 0 评论 -
数据库调优
“数据库调优”的事情,心想这不是DBA的事吗,但回答不好还是显得不够专业,查一下资料,许多还真是程序员的事情,下面总结一下,希望对大家有所帮助。方面以影响程度排序 D1 业务逻辑 (影响最大) D2 数据设计 (表结构设计,数据建模) D3 应用程序设计 (SQL 语句的写法) D4 数据库的逻辑结构 (索引,区间,段,表空间) D5 数据库操作 (参数和配置) D6 访问路...原创 2013-04-19 14:37:52 · 121 阅读 · 0 评论 -
sql语句的执行顺序
SQL语句的执行顺序才能继续,上网上查了一下相关的资料,现整理如下: 一、sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。 4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。 5...原创 2013-04-19 16:04:05 · 111 阅读 · 0 评论 -
MySQL分区性能初探
一, 分区概念 分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。分区和手动分表对比手动分表 分区多张数据表一张数据表重复数据的风险没有数据重复的风险写入多张表写入一张表没有统一的约束限制强制的约束限制...原创 2013-04-22 09:18:28 · 114 阅读 · 0 评论 -
数据库物理分布设计
概述 我们无论使用哪种数据库,无论怎样设计数据库,我想都会遵从一个原则:数据安全性和性能高效这两个主要方面,但是关于这两个方面的话题太多,在这里就不一 一陈述,我只是从数据库物理分布设计方面和大家一起简单的探讨一下。因为数据库良好的物理分布设计也是对数据安全性和性能高效影响比较大, 就象我们在建大楼之前一定要先打好地基一样。 現实中我们在应用各种不同数据库的时候,往往会忽略数据库的物理布局,只有在...原创 2013-04-22 10:10:38 · 481 阅读 · 0 评论 -
NoSQL数据库笔谈
http://sebug.net/paper/databases/nosql/Nosql.html#_735276508313792_2270315258144_9783657311654288 Oracle数据库性能优化的艺术http://book.51cto.com/art/201208/353384.htm原创 2013-04-22 14:40:53 · 118 阅读 · 0 评论 -
数据库设计——数据库生命周期
摘自http://www.cnblogs.com/DBFocus/archive/2011/04/09/2010904.html 解数据库设计的整体流程数据库生命周期大家对软件生命周期较为熟悉,数据库也有其生命周期,如下图所示。图(1)数据库生命周期数据库的生命周期主要分为四个阶段:需求分析、逻辑设计、物理设计、实现维护。这个系列的博文将主要关注数据库生命周...原创 2013-04-22 14:51:43 · 1691 阅读 · 0 评论 -
深入Java事务的原理与应用
一、什么是JAVA事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示 当事务执行失败时,所有被该事务影响的数据都应该恢...原创 2013-04-23 14:57:17 · 138 阅读 · 0 评论 -
MySQL存储过程参数中文乱码
1.在命令控制台通过命令设置编码查看mysql的编码格式 show variables like 'character_set_%';设置 编码格式 set names 'utf8';2.明确参数编码/******************************************@description set style number@au...原创 2012-11-15 12:59:45 · 555 阅读 · 0 评论 -
Mysql数据库优化
1.数据库的对象: 1)优化表的类型: 2) 数据库表设计时候更小的占磁盘空间尽可能使用更小的整数类型.(mediumint就比int更合适) 3) 所有字段都得有默认值 4) 选择合适表类型(InnoDB或者myisam) 2,优化sql语句: 1)通过show status了解各种sql的执行频率 show status like 'Com...原创 2013-05-17 11:18:29 · 139 阅读 · 0 评论 -
高效的MySQL的批插入 BULK INSERT
MySQL的批插入 BULK INSERT和load data的速度差不多,并且可靠。语法如下假设有表test (ID NUMBER,NAME VARCHAR(10))insert into test values(1,'aa'),(2,'bb'),.....(100000,'bb');也就是每个记录间用逗号隔开,最后用分号结束,插入10万条记录只需不到10秒...原创 2012-09-04 14:25:10 · 262 阅读 · 0 评论 -
存储过程优缺点
存储过程的优缺点:优点:1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。 但sql server新版...原创 2013-01-05 12:08:44 · 116 阅读 · 0 评论 -
PreparedStatement.addbatch()的使用
JDBC批量更新pstmt.addBatch();的问题在数据量越大的时候 越能体现前者的优势 因为数据库的处理速度是非常惊人的 单次吞吐量很大 执行效率极高 addBatch()把若干sql语句装载到一起,然后一次送到数据库执行,执行需要很短的时间 而pstmt.executeUpdate() 是一条一条发往数据库执行的 时间都消耗在数据库连接的传输上面 举个例子...原创 2012-09-20 16:23:28 · 236 阅读 · 0 评论 -
mysql变量使用总结
set语句的学习:使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: select @VAR:=(select sum(amount) from penalties);我这样改,虽然是可以的。但是,对比的书中的答案,发现这样的方式太蹩脚了。说明没有很好...原创 2012-09-21 15:41:28 · 112 阅读 · 0 评论 -
Mysql注释注意点
MySQL服务器支持3种注释风格:· 从‘#’字符从行尾。· 从‘-- ’序列到行尾。请注意‘-- ’(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同,后者将在1.8.5.7, “‘--’作为注释起始标记”中讨论。· 从/*...原创 2012-09-21 15:47:14 · 110 阅读 · 0 评论 -
如何选择数据库的主键
摘自http://www.aichengxu.com/article/MySQL/193_10.html 主键的无意义性 我强调主键不应该具有实际的意义,这可能对于一些朋友来说不太认同,比如订单表吧,会有“订单编号”字段,而这个字段呢在业务实际中本身就是应 该具有唯一性,具有唯一标识记录的功能,但我是不推荐采用订单编号字段作为主键的,因为具有实际意义的字段,具有“意义更改”的...原创 2013-02-05 09:39:30 · 486 阅读 · 0 评论 -
聚簇索引和非聚簇索引
聚簇索引和非聚簇索引都是为了增加数据检索速度而存在的.在配置上, 每个表只能有一个聚簇索引,而能有200多个非聚簇索引。在物理分配上, 每个表的数据都是分配在页上,一个页大概有8k左右,假设一条数据占1000字节的话,那么8000条数据占8000*1k/8k = 1000页面,这些数据存在于数据块中。如果对这些数据中的某一10字节的字段做聚簇索引的话,8000 * 0.01K /8...原创 2013-04-19 14:20:47 · 146 阅读 · 0 评论 -
数据库调优的方法
源于http://www.51testing.com/html/60/n-219560.html 1.引言 数据库调优可以使数据库应用运行得更快,它需要综合考虑各种复杂的因素。将数据均 匀分布在磁盘上可以提高I/O 利用率,提高数据的读写性能;适当程度的非规范化可以改善 系统查询性能;建立索引和编写高效的SQL 语句能有效避免低性能操作;通过锁的调优解 决并发控制方面的性能问题。...原创 2013-04-19 11:48:42 · 140 阅读 · 0 评论 -
使用复制来提升MySQL的高可用性和处理能力
摘自http://www.linuxdiyf.com/bbs/thread-64961-1-1.html 昨晚看了一晚上的MySQL文档,主要是关于MySQL的复制方面的文档,用的工具是MySQL的帮助文档+金山词霸。终于比较大概的了解了如何通过复制来提升MySQL数据库的高可用性和处理能力,不过还没有经过实际的试验,但整体的思想是清楚了,下面把思路大概的描述一下,有机会再进行实验。...原创 2013-04-15 00:55:56 · 162 阅读 · 0 评论 -
SQL Case用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相...原创 2012-06-14 13:20:39 · 98 阅读 · 0 评论 -
oracle 数组实现
-一维数组:--嵌套表--尺寸没有限制。--本质上是无序的--VARRAY--尺寸必须固定,所有的实例尺寸相同。--在过程化语言中可以作为有序数组进行检索但在Oracle内部看成单个不能分割的单元。--存储效率高。--多维数组--利用record 和record of--建立测试表drop table t_test_1;create table t_test_1(pid num...原创 2012-03-15 11:28:25 · 154 阅读 · 0 评论 -
修改mysql密码
(1)set password for 'root'@'localhost'=PASSWORD('new123'); 说明:localhost为数据库mysql的user表中指定的Host字段 (2)update user set password=PASSWORD('123456') where user='root';说明:数据库mysql的user表中所有密码都为12...原创 2013-03-08 14:36:39 · 97 阅读 · 0 评论 -
报错:1130-host ... is not allowed to connect to this MySql server
解决方法:1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"mysql -u root -pvmwaremysql>use mysql;mysql>update use原创 2013-03-08 14:45:43 · 127 阅读 · 0 评论 -
MySQL权限详解
一.权限表 mysql数据库中的3个权限表:user 、db、 host 权限表的存取过程是: 1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证; 2)通过权限验证,进行权限分配时,按照user?db?tables_priv?columns_priv的顺序进行分配。即先检查全局权限表 user,如果user中...原创 2013-03-08 15:01:26 · 146 阅读 · 0 评论 -
count,having,sum,group by
假设表的字段为depart_id, depart_name, employeename,查询具有depart_id的记录数大于2的所有记录的depart_id,和总数,正确的语句应为:select depart_id,count(*) from depart group by departId having count(*)>=2 注意:先分组在算count下面还有2个例子:例1:查询出...原创 2013-03-23 01:16:39 · 282 阅读 · 0 评论 -
SQL中的CASE WHEN用法
SQL中的CASE WHEN语句是经常要用到的,下面将结合实例,为您详解CASE WHEN语句的使用,供您参考,希望对您学习SQL语句能有所帮助。一张表数据如下 1900-1-1 胜 1900-1-1 胜 1900-1-1 负 1900-1-2 胜 1900-1-2 胜 写出一条SQL语句,使检索结果如下: 胜 负 1900-1-1 2 1 1900-1-...原创 2013-03-24 02:32:44 · 220 阅读 · 0 评论 -
count(0)
select count(0) as user_total from(select distinct User_id from xyqj_log)这条是将不重复的User_id的个数进行统计并保存在user_total中 这里面的count(0)怎么理解 ?意思和count(*)或者count(column)是一样的但是据说有个效率问题因为COUNT(*)不单会进...原创 2013-03-24 18:13:16 · 500 阅读 · 0 评论 -
sql where 1=1和 0=1 的作用
where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: string MySqlStr=”select * from table w...原创 2013-03-24 18:18:01 · 95 阅读 · 0 评论 -
海量数据处理之数据库索引及优化
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引什么是索引数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里...原创 2013-04-02 11:03:46 · 198 阅读 · 0 评论 -
B树索引与位图索引
一、 B树索引的缺陷 在实际工作中,B树索引是Oracle数据库中最常用的一种索引。如在使用Create Index语句创建索引的时候,默认采用的就是B树索引。在B树索引中,是通过在索引中保存排序过的索引列以及其对应的Rowid列的值来实现的。不过对 于某些比较特殊的情况,如基数比较小的列,使用这个B树索引反而会降低数据库的查询效率。 基数在Oracle数据库中指的是某个列可能拥有...原创 2013-04-02 15:05:08 · 796 阅读 · 0 评论 -
位图索引
位图索引区别于传统B*树索引有两个结构特点:其一是叶子节点上是一个可能的索引列取值对应一个叶子节点。另一个就是叶子节点上通过一个位图向量表示对应行是否取定这个索引值。 使用位图向量记录对应行的取值情况不仅可以带来存储空间上的节省,而且可以借助计算机位图运算的快速特性来提高索引结果利用率。下面我们通过模拟情况来进行分析。 Bitmap Index模拟说明 假设存在数据表T,...原创 2013-04-02 15:54:10 · 117 阅读 · 0 评论 -
Oracle Index 介绍
概述 索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用。在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。Oracle提 供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程...原创 2013-04-02 16:46:48 · 106 阅读 · 0 评论 -
函数索引
我们进行数据库检索优化的方法,通常是对特定条件列加索引,减少由于全表扫描带来的逻辑物理IO消耗。索引的种类很多,我们经常使用的B*树索引,由于结构简单、适应性强,可以应对大多数数据访问优化需求。除B*树索引外,其他一些索引类型,也在一些场合中扮演着独特的地位。本篇来介绍其中的函数索引。 1、从B*树索引的失效谈起 和通常一样,我们准备实验环境。 SQL> se...原创 2013-04-02 16:51:03 · 414 阅读 · 0 评论 -
单键索引还是组合索引
摘自http://book.51cto.com/art/200906/132406.htm 8.4.5 索引的利弊与如何判定,是否需要索引 相信读者都知道索引能够极大地提高数据检索的效率,让Query 执行得更快,但是可能并不是每一位朋友都清楚索引在极大提高检索效率的同时,也给数据库带来了一些负面的影响。下面就分别对 MySQL 中索引的利与弊做一个简单的分析。 索引...原创 2013-04-08 16:00:15 · 679 阅读 · 1 评论 -
sql 临时表
在使用T-SQL编写触发器或者函数的时候,经常需要用到一个临时表。SQL Server的临时表是存储在tempdb中的。临时表的创建、使用、删除等与普通表相似,只是在名字上、可见性和使用性上会有差别。关于使用临时表需要注意的事项在下面解释,先看看临时表的创建、使用、和删除的代码吧!创建临时表create table TempTableName ---TempTableName 必...原创 2013-08-27 00:14:00 · 148 阅读 · 0 评论