`
文章列表
MySQL Schema设计 要避免以下的设计: 1. 太多的列,MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过缓冲方式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转换成行数据的操作代价是很高的。转换的代价取决于列的数量。 2. 太多的关联,MySQL限制了每个关联操作最多只能有61张表。一个经验性的法则,如果希望查询执行的快,且并发性好,单个查询最好在12个表以内做关联。 3. 枚举,避免过度的使用Enum   4. 范式和反范式, 4.1范式的优缺点,当考虑到性能问题时,通常对schema进行范式化设计会带来好处,尤其是写密集的 ...
“良好的逻辑设计和物理设计是高性能的基石,应根据系统将要执行的查询语句来设计Schema,这需要权衡各种因素”   数据类型: 1.整数类型: a) tinyint(8),smallint(16),mediumint(24),int(32),bigint(64) 值的范围从 ...
事务   1. 自动提交 对于事务类型的库表 > show variables like 'AUTOCOMMIT'; > set AUTOCOMMIT=1;   2. 通过修改配置文件来设置整个数据库的隔离级别,也可以通过以下语句只改变当前会话的隔离级别 > SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITED; MySQL可识别4个ANSI定义的隔离级别,InnoDB引擎支持这个四个隔离级别。   3. 隐式锁定和显式锁定 a) InnoDB采用两阶段锁定协议(two-phase locking ...
创建更好的索引 1.覆盖索引,当QEP在Extra列中显示Using index时,不意味访问底层数据库时使用了索引,他代表只有这个索引才是足查询要求的。这种索引可以为大型查询或者频繁执行的查询带来显著的性能提升,称为覆盖索引,故名思义,因为他满足了查询中给定表用到的所有列。要创建一个覆盖索引,他必须包含指定表上包括where子句,order by子句,group by子句(如果有的话)以及select语句中的所有列 * InnoDB中主键值会附加到非主键索引的每一个对应记录后边,因此没有必要在非主键索引中指定主键,即InnoDB引擎中所有非主键索引都隐含主键列 *尽量不在查询中使用s ...
  1. 创建索引,myslq支持重复索引,但是多余的索引会带来性能开销; a) 利用索引可以减少查询读取的行数 b) 提高表连接操作的性能 c) 如果where子句中条件以通配符开头,则mysql不使用索引 d) mysql不支持基于索引的函数 e) ...
CREATE PROCEDURE [dbo].[SP_FindValueInDB] (     @value VARCHAR(1024) )        AS BEGIN     -- SET NOCOUNT ON added to prevent extra result sets from     -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql VARCHAR(1024) DECLARE @table VARCHAR(64) DECLARE @column VARCHAR(64) CREATE ...
Spring在TransactionDefinition接口中定义这些属性 在TransactionDefinition接口中定义了五个不同的事务隔离级别 ISOLATION_DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应 ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读 ISOLATION_READ_COMMITTED 保证一个事务修改的数据提交后才能被另外一个 ...

cxf configuration

cxf 1. server side @WebService public interface Service extends Remote { @WebMethod public List<Integer> getAll() throws RemoteException; } @WebService(endpointInterface="package.Service", serviceName="Service") public class ServiceImpl implements Service { @Override p ...

常用正则表达式

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹 ...
如果onclick事件原先有值,要先清空,再用click( eval(function(){.....}) )赋值: $("input[name='orderCar']").attr('onclick','').click( eval(function(){warningT()})); function warningT(){     alert("新的事件!");     return; }
配置启用注解(注意以下配置需要使用spring2.5的头文件,在spring3.0中不适用) 1.使用简化配置 Spring2.1添加了一个新的context的Schema命名空间,该命名空间对注释驱动、属性文件引入、加载期织入等功能提供了便捷的配置。我们知道 ...
附件是完整的project,下载后直接import即可。

JVM-内存

    博客分类:
  • JVM
JVM中,内存分为stack和heap。 1. stack是jvm的内存指令区。管理简单,速度快,每次push或pop定长的数据或指令。java基本类型,指令代码,常量都保存在stack。由于Stack的内存管理是顺序分配的,而且定长,不存在内存回收问题 2. heap是jvm的内存数据区。管理复杂,每次分配不定长内存空间保存对象的实例,实际保存对象实例的属性值,属性类型和对象本身的类型标记,并不保存对象方法,因为方法是指令,保存在stack中。在heap中为对象实例分配好内存后,需要在stack中保存一个4Byte的heap内存地址,用来定位对象实例在heap中的位置,便于查找。Heap 则是 ...

ClearCase

ClearCase功能概括(参见下图):版本管理,过程管理,工作空间管理,bulid管理。 基本概念: Element 纳入配置管理的包括版本信息的对象,包括文件与目录。 VOB Version Object Base,存放Element以及其他CC配置信息的库。 PVOB Project VOB,用于存放UCM项目的VOB。一个UCM项目必须存放于一个PVOB中,而一个PVOB可以存放一个或者多个UCM项目。 UCM Unified Changed Management的缩写,统一变更管理模式。在CC中有两种项目管理的模式:Base ClearCase 和 UC ...
dpkg --get-selections|grep linux #列出当前的内核。带image的则是已经安装的内核 sudo apt-get remove linux-image${release-no}-generic #删除该版本
Global site tag (gtag.js) - Google Analytics