数据库
文章平均质量分 59
caomiao2006
这个作者很懒,什么都没留下…
展开
-
mysql处理高并发,防止库存超卖
今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能多点。先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。转载 2014-08-14 23:44:55 · 105933 阅读 · 19 评论 -
高并发数据库分表分库
大表分表后每个表的结构相同,可以用sql的union比如a,b表结构相同可以通过union来联接select * from aunion allselect * from bwhere。。。。转载 2014-08-15 01:24:10 · 2636 阅读 · 0 评论 -
Powerdesigner15-用jdbc链接MySQL实现逆向工程步骤
Powerdesigner15-用jdbc链接MySQL实现逆向工程步骤 1.建立一个物理模型 2.配置一个jdbc数据库链接,以mysql为例 注意:使用 jdbc 连接数据库,要在环境变量设置 classpath ,值为数据库jdbc的 jar 文件路径 3.把物理模型的表更新到刚才配置的数据库(mysql)转载 2014-05-23 11:14:48 · 12998 阅读 · 0 评论 -
SQL多表连接查询(详细实例)
本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 left outer joinSQ转载 2014-03-26 10:16:26 · 767 阅读 · 0 评论 -
数据库锁的理解
锁的种类数据库系统本身的锁机制1、共享锁(Shared Lock) select这种2、更新锁(Update Lock) update 这种3、排他锁(Exclusive Lock):update set xx=c where id="3" 这种4、意向锁(Intent Lock):对表进行加锁。5、模式锁(Schema Lock):Alte转载 2014-04-21 09:09:18 · 1330 阅读 · 0 评论 -
java.util.Date和java.sql.Date 一点区别
最近无意中发现,在oracle中同一样的一个Date类型字段,存储的日期格式有两种不同的情况,第一种是2011-1-1 12:00:00,第二种是2011-1-1,仔细查找发现在向数据库中写数据的时候定义的变量的问题。第一种是:java.util.Date类型的变量,第二种是:java.sql.Date类型的变量,后来写了下面的代码测试了下。java.util.Date和java.转载 2014-04-03 14:04:03 · 5089 阅读 · 0 评论 -
java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。 为了与转载 2014-04-03 14:24:06 · 1009 阅读 · 0 评论 -
oracle查看锁表进程,杀掉锁表进程
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao,转载 2014-03-22 17:47:19 · 740 阅读 · 0 评论 -
浅谈BigDecimal类在电子商务中至关重要的地位
一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算。但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾。BigDecimal类位于java.maths类包下。首先我们来看下如何构造一个BigDecimal对象。它的构造函数很多,我挑最常用的两个来演示一下:一个就是BigDe转载 2014-03-31 11:26:34 · 1334 阅读 · 0 评论 -
群发“站内信”的实现
在很多网站系统(如CMS系统,SNS系统等),都有“站内信”的功能。 “站内信”不同于电子邮件,电子邮件通过专门的邮件服务器发送、保存。而“站内信”是系统内的消息,说白了,“站内信”的实现,就是通过数据库插入记录来实现的。 “站内信”有两个基本功能。一:点到点的消息传送。用户给用户发送站内信;管理员给用户发送站内信。二:点到面的消息传送。管理员给用户(指定满足某一条件的用户群)转载 2014-01-07 16:03:03 · 1471 阅读 · 0 评论 -
MySQL数据类型中DECIMAL的作用和用法
在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法。一般赋予浮点列的值被四舍五入到这个列所指定的十进制数。如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1.转载 2014-03-31 11:21:55 · 41323 阅读 · 1 评论 -
如何避免死锁
1 使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务; 2 设置死锁超时参数为合理范围,如:3分钟-10分种;超过时间,自动放弃本次操作,避免进程悬挂; 3 优化程序,检查并避免死锁现象出现; 4 .对所有的脚本和SP都要仔细测试,在正是版本之前。 5 所有的SP都要有错误处理(通过@error) 6 一般不要修改SQL SERVER事务的默认级别。不推荐强转载 2014-09-28 20:56:53 · 1536 阅读 · 0 评论 -
事务隔离性和锁的区别和联系
事务隔离级别是并发控制的整体解决方案,其实际上是综合利用各种类型的锁和行版本控制,来解决并发问题。锁是数据库并发控制的内部机制,是基础。当然,数据库同时还会利用行版本控制(SQL Server 2005 及以上)来进行并发控制;在数据库内部还使用闩(latch),互斥(mutex)等机制处理内部资源(如,缓存)的并发访问。对用户来说,只有当事务隔离级别无法解决一些并发问题和需求时,转载 2015-06-04 21:44:35 · 8970 阅读 · 2 评论 -
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制,使系统能以Scale-Out的方式应对不断上涨的海量数据,但是这种切分对上层应用来说是透明的,多个转载 2016-11-23 23:24:43 · 612 阅读 · 0 评论 -
视图对性能的影响
Performance Implications of Views许多人都不认为视图可以改进性能,但是它确实可以提高性能,也可以用它来支持其他提高性能的方式。例如,利用视图重构数据库架构的某一阶段,可以在更改它访问的表的同时,使代码继续工作。一些应用程序为每一个用户使用一个表,这通常是为了实现行级别安全性。一个和前面例子类似的视图能够在表内实现类似的安全性,并且打开表的次数会更少,转载 2016-08-02 23:16:01 · 18333 阅读 · 0 评论 -
数据库 shard 分片存储
2.1.1什么是数据切分"Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏中。"Sharding" 姑且称之为"分片"。Sharding 不是一门新技术,而是一个相对简朴的软件理念。众所周知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 MySQL 的潜在用户都对 MySQL 的扩展性有所顾虑,而是否具备分区功能就成转载 2015-11-23 20:10:51 · 893 阅读 · 1 评论 -
Ctrip DAL Database Sharding Support
配置指南参见下面的例子demo configdalname="dal.prize.test"> databaseSets> databaseSetname="manytypes"provider="sqlProvider"> addname="HotelPubDB"转载 2015-11-23 20:46:48 · 1282 阅读 · 0 评论 -
MySQL行级锁、表级锁、页级锁详细介绍
页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以转载 2015-06-04 21:45:22 · 746 阅读 · 0 评论 -
通用权限管理设计 之 数据库结构设计
一,前言 权限管理系统的应用者应该有三种不同性质上的使用,A,使用权限B,分配权限C,授权权限 本文只从《使用权限》和《分配权限》这两种应用层面分析,暂时不考虑《授权权限》这种。二,初步分析用户和角色 说到权限管理,首先应该想到,当然要设计一个用户表,一个权限表。这样就决定了一个人有什么样的权限。做着做着就会发现这样设计太过繁琐,如果公司里面所有员工转载 2014-01-27 15:03:03 · 863 阅读 · 0 评论 -
数据库事务的理解
1、事务的一致性:例: 我到自动取款机取2000元,不巧自动取款机里没钱了. 可是我也按了取2000元按钮了,可是实际我没拿到这 么多钱.我的银卡会不会就少了2000元. 它可能给我提示说:钱不够,较你重新输入一取款数目. 这就是一个事务..提款两个步骤扣钱,取款一个事务不会出现不扣钱取款,或扣钱不取款的情况。转载 2014-03-28 16:54:26 · 1874 阅读 · 0 评论 -
数据库事务隔离级别理解
在SQL标准中一共有四个等级的事务隔离级别,其依次为Read uncommitted、Read committed、Repeatable read、Serializable。按照传统的数据库理论,这四个等级的隔离程度越来越高,相应的并发也越来越低。具体情况请参考下表:1.READ UNCOMMITTED(可以读取(read)未提交(uncommitted)的数据)Rea转载 2014-03-29 09:25:26 · 1114 阅读 · 0 评论 -
Oracle中Inventory目录作用以及如何重建此目录
oraInventory存放的是Oracle软件安装的目录信息,Oralce的安装升级都需要用到这个目录,来看看Oracle文档中对这个目录的一点说明:All Oracle software installations rely on this directory. Ensure that you back it up regularly. Do not delete this dir转载 2013-09-22 16:13:44 · 17811 阅读 · 0 评论 -
Linux下静默安装,升级和删除Oracle客户端
有的时候不方便登陆Linux的图形界面安装oracle客户端,我们完全可以采用静默模式安装,升级和删除oracle客户端(代替OUI)。平台:RHEL4.5,oracle10.2.0.1一、静默方式安装oracle客户端1、上传oracle软件,假如放在/orahome/soft/目录下# mkdir -p /orahome/soft/# cd /orahome转载 2013-09-22 16:11:24 · 8267 阅读 · 0 评论 -
linux单独安装oracle客户端(instantclient)
首先说明:百度上面搜索的资料,都是垃圾资料,而且例子都是相互复制,确没有何参考价值, 最可烦的是需要安装oracle 远程客户端,他们那些笨蛋都是以本地为主,一般情况下本地如果有 安装oracle, 也会安装好客户端,不需要那如群笨蛋发布那些无用的信息,浪费人家的时间。 1.要远程使用oracle,先下载下面三个文件,注意版本最好一致。 oracle-insta转载 2013-09-22 16:15:09 · 9789 阅读 · 1 评论 -
oracle sqlplus登陆命令
老忘了怎么用,记下来。1,{[/][@] | / }[AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]指定数据库帐户用户名, 口令和数据库连接的连接标识符。如果没有连接标识符, SQL*Plus 将连接到默认数据库。 AS SYSDBA, AS SYSOPER 和 AS SYSASM 选项是数据库管理权限。 的形式可以是 Ne转载 2013-09-18 17:24:11 · 735 阅读 · 0 评论 -
Linux手动编译安装LAMP
在linux上面LAMP安装一、 Apache安装1. download httpd 2.2.16# mkdir -p /usr/local/apache2 生成/usr/local/apache2目录2. ./configure \--prefix=/usr/local/apache2 \ --enable-so \ --enable-mods转载 2013-07-01 14:07:18 · 2095 阅读 · 0 评论 -
ORACLE数据导出TXT及从TXT导入及去空格
导出到TXT文件: 1、用PL/SQL DEV打开CMD窗口。 2、spool h:/output.txt; 3、set heading off; --去掉表头 4、select * from usergroup; 5、spool off;TXT导入到ORACLE: 1、用P转载 2013-07-10 10:03:32 · 3976 阅读 · 0 评论 -
为Ubuntu搭建LAMP(Apache+PHP+MYSQL)开发环境
作者:老臧邮件:zangchang#gmail.com网站:http://www.fovweb.com题记:在之前的文章中,我们将Ubuntu安装进了U盘。今天我们一起来,为Ubuntu搭建PHP+MYSQL开发环境。本文将会介绍两种方法,一种是用apt-get方式进行安装,另一种是手工编译进行安装。正文:一、使用apt-get方式为Ubuntu安装PHP+转载 2013-05-27 16:21:27 · 881 阅读 · 0 评论 -
Oracle扩展PL/SQL简介
1、 PL/SQL概述。PL/SQL是Oracle对SQL规范的扩展,是一种块结构语言,即构成一个PL/SQL程序的基本单位(过程、函数和无名块)是逻辑块,可包含任何数目的嵌套了快。这种程序结构支持逐步求精方法解决问题。一个块(或子块)将逻辑上相关的说明和语句组合在一起,其形式为:DECLARE---说明BEGIN---语句序列EXCEPTION-转载 2013-05-21 18:22:18 · 776 阅读 · 0 评论 -
ProC概述
Pro*C概述一. Pro*C概述Oracle支持在6种高级语言中嵌入SQL语句,他们分别是C,FORTRAN,PASCAL,COBOL,PL/I和Ada。这些语言统称为宿主语言,用它们开发的应用程序叫PRO程序。如果宿主语言是C,则相应的程序就叫Pro*C,在Pro*C中可以嵌入SQL语句,利用这些SQL语句可以完成动态的建立,修改和删除数据库中的表,也可以查询,插入,修改和转载 2013-05-15 17:40:17 · 3605 阅读 · 0 评论 -
sql教程
http://www.w3school.com.cn/sql/index.asp转载 2012-12-17 11:19:43 · 622 阅读 · 0 评论 -
Access与SQL Server的一点区别
Access在执行插入操作时,表名和字段名不需要且不能用单引号括起来,SQL Server也不能括起来;插入的字段中,“自动编号”可以包含也可以不包含而让其自增(在插入记录的前一个记录的对应字段基础上自增),这与SQL Server相同;要插入的各字段不论是什么类型,其value可用可不用单引号括起来,而SQL Server似乎是数字类型可括也可不括,但字符串类型必须括起来。原创 2009-08-18 17:23:00 · 1184 阅读 · 0 评论 -
PROC基础知识之指示变量变量
• 指示器变量是与宿主变量相关联的一类SQL变量,它被用来监督和管理与其相关联的宿主变量,每一个宿主变量都可以定义一个指示器变量。指示器变量的具体作用如下:(1) 向数据库表列输入NULL值(2) 检查从数据库表列中选取的数据是否是NULL值,或是否发生截断问题• 指示变量必须被定义为2 个字节的整数类型(short)•转载 2013-10-22 15:44:24 · 1274 阅读 · 0 评论 -
pro*c动态SQL技术
共有4种构方法构造动态SQL语句:1、方法一: 仅适用于非SELECT语句,且语句中不包含输入宿主变量。格式如下 EXEC SQL EXECUTE IMMEDIATE :host_string 或 EXEC SQL EXECUTE IMMEDIATE "UPDATE XX SET NAME=yyyy HERE ID=1"2、转载 2013-10-22 15:46:25 · 1618 阅读 · 0 评论 -
JDBC事务控制管理
1、事务(1)事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。例如:A——B转帐,对应于如下两条sql语句update account set money=money-100 where name=‘a’; update account set money=money+100 where name=‘b’;数据转载 2014-03-28 16:55:11 · 35148 阅读 · 1 评论 -
如何在PL/SQL中修改ORACLE的字段顺序
今天下午工作中遇到的问题,我需要将A表中的数据放到它的备份表A_1中去,但A_1表中缺少两个字段,于是我就给它加上两个字段,但新加的字段会默认排在在最后面,与表A中的字段顺序不一致,那么用insert into A_1 select * from A; 时就会出错。 当时用了一个笨方法,如下: --新建临时表以存储正确的顺序转载 2014-02-14 16:22:33 · 27927 阅读 · 0 评论 -
Oracle中修改表名遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”
Oracle 11g中想修改表名:rename ASSETPORJECT to ASSETPROJECT;结果提示:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效。看来有锁定该表的会话,于是,执行如下查询:SELECT sid, serial#, username, osuser FROM v$session where转载 2014-02-13 09:56:45 · 3029 阅读 · 0 评论 -
在数据库中使用关键字作为字段名
在Oracle 中只能用双引号"包围关键字。但由于Oracle中双引号内的字符串是区分大小写的,而不管创建表还是查询时,Oracle都会把字段名转成全部大写,所以,除非创建表时双引号内的字段名就是全大写的,否则以后查询时SQL语句都必须加双引号,若不加则Oracle内部会把字段名转成全大写从而提示“无效的标识符”。同理,查询普通字段也可以通过加双引号查询得出,但双引号内的字段名必须是全大写,例如S转载 2014-02-12 13:24:23 · 1688 阅读 · 0 评论 -
PowerDesigner中如何生成主键和自增列--Oracle版本
http://www.cnblogs.com/netsql/archive/2010/05/19/1739512.html转载 2014-01-07 19:37:18 · 1960 阅读 · 0 评论 -
数据库设计总结
数据库设计基本要素:1、标识ID;2、操作时间;3、实体对象状态;4、日志记录;..........原创 2014-01-07 17:45:05 · 689 阅读 · 0 评论