- 浏览: 1122169 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
l 需求
u 实现MySQL自带的字段值自动增长等效的功能;
u 同一应用集群中数据库表的自增类型字段值具有全局唯一性;
u 支持数据库级别的水平拆分表,同时还需要支持数据库内部的水平拆分表,其ID值都来源于同一条配置记录;
l 存储设计
序列产生器配置表increment_config结构:
列名称 | 数据类型 | 是否为空 | 默认值 | 是否自增 | 主键/索引 | 备注 |
ID | INT UNSIGNED | N | AUTO_INCREMENT | PRIMARY KEY(ID) | 唯一标示,无意义 | |
TABLE_NAME | VARCHAR(40) | N | UNIQUE INDEX | 表名称 | ||
TABLE_TOTAL | TINYINT UNSIGNED | N | 0 | 标记数据库内分表的数量 | ||
COLUMN_NAME | VARCHAR(40) | N | 字段名称 | |||
START_VALUE | BIGINT UNSIGNED | N | 1 | 开始值 | ||
OFFSET_VALUE | SMALLINT UNSIGNED | N | 10000 | 增长的步长 | ||
FLAG | TINYINT | N | 0 | 0–正常;1–作废值 | ||
GMT_MODIFIED | TIMESTAMP | N | 数据库自动更新此值 |
备注:
1>. GMT_MODIFIED不由程序或人为主动去负责更新与填写,而是通过数据库的特性自动填写与更新;
2>. 对于数据库内部的水平分表,即TABLE_TOTAL<>0,则通过TABLE_NAME+TABLE_TOTAL组合区分;
l 对存储表的操作
u 初始化的 SQL
对于需要用到序列产生器的表,则在此配置表中增加一条记录,例如:
INSERT INTO(TABLE_NAME,TABLE_TOTAL,COLUMN_NAME,START_VALUE,OFFSET_VALUE,FLAG)
VALUES(‘msg_’,23, ’MSG_ID’,1,10000,0);
u 序列生成器操作的 SQL
程序每次获得序列区间段,以及更新相关数据值操作的事务的过程SQL,假设msg_系列表对应的记录,在配置表中ID=1。
START TRNSACTION;
SELECT ID, TABLE_NAME,COLUMN_NAME,START_VALUE,START_VALUE+OFFSET_VALUE AS END_VALUE
FROM increment_config WHERE ID=1 FOR UPDATE;
UPDATE increment_config SET START_VALUE=START_VALUE+OFFSET_VALUE WHERE ID=1;
COMMIT;
l 程序实现建议
u 为提供序列产生的速度,而提高业务处理的性能。程序需要以拿序列区间的方式实现,而不是每次需要的时候,都要去数据库获得序列号值;
u 程序在每次启动的时候,要初始化配置表中所有有效记录的序列区间值;
u 当程序拿到的区间值START_VALUE,经过一段时间使用后达到:START_VALUE=END_VALUE,处理步骤如下:
1>. 挂起当前的序列调用请求;
2>. 做序列区间值获取的事务;
3>. 把新获得区间值的START_VALUE,给予挂起的调用请求;
总结:每个区间值的最大值(END_VALUE)始终作为当前期间的弃用值。
发表评论
-
MySQL中GBK与UTF-8的区别
2013-02-11 17:53 1517在MySQL中,如果数据库只需要支持一般中文,数据量很大,性 ... -
MySQL中Utf8_general_ci 和 utf8_unicode_ci的区别
2013-02-11 17:51 1207对中、英文来说没有实质的差别。 utf8_gener ... -
Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUM
2012-11-09 11:13 7415SHOW VARIABLES LIKE 'coll%'; ... -
修改MySQL字符编码
2012-11-07 08:24 971修改编码其实是为了支持中文~ 1. 编译级别。由于缺乏 ... -
INNER LEFT RIGHT JOIN
2012-09-07 10:35 1100CREATE TABLE `a` ( `a1` VARC ... -
MySQL设置字符集为UTF8(Windows版)
2012-08-07 08:40 8831Windows版MySQL设置字符集全部为utf8的方式 ... -
【绿色MySQL设置技巧】
2012-07-07 21:31 11761. mysql 远程连接数据 ... -
查询表Y中数据不存在与表X中的数据使用Left JOIN
2012-06-26 12:39 1067看看我写的对不对,查询接着显示表Y中的数据8,4,p 表X有 ... -
mysql 性能优化方案
2012-04-28 17:18 973网上有不少mysql 性能优 ... -
设置自动清理mysql binlog日志和手动删除的方法
2012-04-28 17:17 1617MYSQL主从复制(replication)采用 RBR 模式 ... -
InnoDB引擎表的主键选型
2012-04-28 11:41 1388【导读】 MySQL采用开放可插入式存储引擎架构,提供 ... -
数据库设计范式
2012-04-14 11:05 972数据库设计三范式 第一范式(1NF):数据库表中的字段都是单一 ... -
11 条重要的数据库设计规则
2012-04-14 11:03 967在你开始阅读这篇文章 ... -
11 步教你选择最稳定的 MySQL 版本
2012-04-01 19:59 1054MySQL开源数据库有多个重要分支,目前拥有的分支分别为:My ... -
连接MySQL数据库生成JavaBean
2012-03-28 08:28 9350做网站时,感觉数据库的设计比较重要,当花了很多时间设计好数据库 ... -
MySQL 分区
2012-03-06 10:31 1155MYSQL 存储过程,定义告 ... -
POWERDESIGNER 教程
2012-02-26 12:03 1443一)概念数据模型 目标 : 本文主要介绍Powe ... -
powerdesigner 使用的十五个问题
2012-02-24 14:22 1296PowerDesigner的主要作用一般还是数据库建模,并生成 ... -
数据库设计原则
2012-02-21 07:41 1005原始单据与实体之间的关系 可以是一对一、一对多、多对多的关 ... -
修改mysql root的密码
2012-01-20 08:38 968mysql> UPDATE mysql. ...
相关推荐
ruoyi框架集成postgresql,对自增表设置序列
自增序列
如何实现Oracle主键自增,通过写sequence和触发器,很全面,绝对帮你解决问题
oracle 序列自增oracle
给大家分享MyBatis Oracle 自增序列的实现方法及mybatis配置oracle的主键自增长的方法,非常不错具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
Oracle使用序列创建自增字段,自增长列。
一键生成Oracle自增序列和触发器,方便Oracle sql的编写加快代码编写速度。
主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下
今天从oracle迁移数据到mysql碰到个需求:原先的主键字段需要改成mysql中的自增字段,而且原先数据的值不能变,以后新插入的值从原先数据最大的值开始自增。 解决办法: 构建环境: mysql> CREATE TABLE test -> ( ...
长序列卷积的实现 长序列卷积的实现 长序列卷积的实现 长序列卷积的实现 长序列卷积的实现 长序列卷积的实现
实现10010序列检测功能,用verilog实现,并有状态转移图和仿真结果,同时对比了摩尔和米利型两种电路
整个系统共分为分频器,m序列产生器,跳变检测,正弦波信号发生器和DAC(数/模变换器)等五部分。
1001序列检测器实验报告,内含modelsim仿真代码和测试代码,Multisim仿真截图。
ORACLE数据库中实现属性的自增,是通过序列和触发器来实现的,当给表中插入数据时触发触发器,触发器从序列中得到相应的数值放入相应的位置,这样实现属性的自增。
Oracle数据库表序列ID自增生成器的功能是为数据库中的表添加序列和触发器,以便使数据表的主键ID能够随着记录的增加而自动增加。
应付各通信类课设的,你们懂的~ ...2 实现PN序列产生器的仿真设计; 3 调试源文件,观察、分析并打印设计的波形。 4 完成本次设计,填写设计指导书。 设计参数为: 1. 伪随机序列的周期为L=31。 2. 采用Gold序列。
基于SIMULINK的M序列产生器
m序列的长度P由移位寄存器级数决定,m序列产生后,进入调相器对载波进行调相,由线性移位寄存器产生的m序列同时送入延迟码产生器,该延迟码产生器输出n路延时不同的延迟码分别进入n路距离相关器作为参考信号。...
m序列是有n级线性移位寄存器产生的周期为2n −1的码序列,是最长线性移位寄存器序 列的简称。码分多址系统主要采用两种长度的m序列:一种是周期为215 −1的m序列,又称 短PN序列;另一种是周期为242 −1的m序列,又...
本方法为使用SEQUENCE... 1、建立自增序列TEMP_TEST_IDADD,命名任意,从1开始,每次加1 CREATE SEQUENCE TEMP_TEST_IDADD INCREMENT BY 1 START WITH 1; 2、在表temp_test上建立触发器如下 CREATE OR REPL