在之前的文章里,业务层直接调用一个包装的仓储类入口,忽略了DAL层,在业务层绕过DAL直接调用仓储类似乎也没什么大的问题,但是这样做有一个很大的弊端,就是无法做到DAL层的原子操作的复用.假如多个业务对象调用一个原子操作,每次都要通过仓储类重写,造成了代码的冗余,因此DAL层还是需要的,另外就是业务层可以采用UnitOfWork的思想去扩展,这样业务层可以共用一个数据上下文,从而保证了事务. 所以大致优化了架构. 仓储类改成泛型的结构 public class BaseRepository<TE…
转自http://isky000.com/database/mysql-perfornamce-tuning-schema MySQL 数据库性能优化之缓存参数优化 MySQL数据库性能优化之硬件瓶颈分析 MySQL 数据库性能优化之表结构优化   DataBaseJan 25th,2017 作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://isky000.com/database/mysql-perfornam…
在进行模板的构造时,不免有些模板的部分样式会相同,如果每一个模板都是重写代码的话,不仅在做的时候麻烦,而且在后期的维护上,也是相当的麻烦.所以我们可以将模板结构进行优化,优化可以通过:引入模板:模板继承两种方式来实现. 1.引入模板 在DTL模板中,使用include标签,将子模板进行引入,这种引入模板,子模板可以使用父模板中的变量.也就是说子模板中也就会被同化产生一个同父模板相同的变量,但是如果这个子模板同时又被其他的父模板引用的话,这个产生的变量还是存在的.以下举例说明: 在index()视…
一.选择合适的数据类型    1.使用可存下数据的最小的数据类型    2.使用简单地数据类型,Int<varchar    3.尽可能使用not null定义字段    4.尽量少用text,非用不可最好分表    用Int存储日期时间    from_unixtime()可将Int类型的时间戳转换为时间格式    unix_timestamp()可将时间格式转换为Int类型    存储IP地址——bigInt    利用inet_aton(),inet_ntoa()转换 二.范式设计   …
这段代码是撸主刚毕业那会写的,主要是实现一个左侧的导航条的折叠功能.当时实现的比较简陋,每次在导航条增加新的项目的时候,都要手动去修改js代码中写死的索引...确实是比较恼火的,后来就修改了一下,能够自动的查找索引了,但是写的代码很不规范,前几天看到这段代码的时候,简直要吐血...所以就简单优化了一下 1.情景描述: html代码大致就是如下所示: <a><li></li></a> <li></li> <li></l…
数据库结构优化 优化数据大小 使表占用尽量少的磁盘空间.减少磁盘I/O次数及读取数据量是提升性能的基础原则.表越小,数据读写处理时则需要更少的内存,同时,小表的索引占用也相对小,索引处理也更加快速. MySQL支持不同类型的存储引擎和行格式,针对不同类型,业务需求的表应该设置合适的存储引擎及索引方法.表设置建议如下: 表列 为列选择最合适(通常最小)的数据类型.MySQL 具有许多不同列类型以最大化的减少磁盘和内存占用.例如,使用足够小的整型来表示小范围的小整型数据.MEDIUMINT 通常是一…
良好的数据库逻辑设计和物理设计是数据库高性能的基础,所以对于数据库结构优化是很有必要的 数据库结构优化目的: 1.减少数据的冗余 2.尽量避免在数据插入.删除和更新异常 例如:有一张设计不得当的学生选课表 CREATE TABLE selectcourse( stu_no INT(11) NOT NULL COMMENT '学号', stu_name VARCHAR(10) NOT NULL COMMENT '学生姓名', birth_date TIMESTAMP NOT NULL DEFAUL…
4-1 数据库结构优化介绍 良好的数据库逻辑设计和物理设计是数据库获得高性能的基础. 1.减少不必要的数据冗余. 2.尽量避免数据维护中出现更新,插入和删除异常. 插入异常:如果表中的某个实体随着另一个实体而存在.   更新异常:如果更改表中的某个实体的单独属性时,需要对多行进行更新. 删除异常:如果删除表中的某一实体则会导致其他实体的消失. 3.节约数据存储空间 4.提高查询效率 show create table selectcourse\G select * from selectcour…
一,背景 最近发现项目的动画文件有点大,不光内存大,而且文件也很大,所以从这2个方面下手处理 二,动画文件大小优化 为了优化动画文件大小,我们可以先分析下文件,Ctrl+D将动画文件从FBX拷贝出来,文本打开,如下图: 可以发现,动画文件基本上都是关键帧数据,分析后我们可以有以下的优化方法. 1,减少骨骼: 我们知道一个骨骼是有pos(x,y,z),rotation(x,y,z,w),scale(x,y,z)3个纬度,一共会有3+4+3=10个曲线,少一根骨骼数据,就会少很多的关键帧数据,这会直…
随着FPGA的广泛应用,所含的资源也越来越丰富,从基本的逻辑单元.DSP资源和RAM块,甚至CPU硬核都能集成在一块芯片中.在做FPGA设计时,如果针对FPGA中资源进行HDL代码编写,对设计的资源利用和时序都有益.下面主要讲解一下如何巧用FPGA中资源: 1. 移位寄存器 FPGA中的移位寄存器使用在前面的博文中有所论述,Xilinx FPGA中的LUT可以作为SRL使用,主要可参考此博文<Xilinx 7系列FPGA使用之CLB探索>,在此想补充论述一下SRL的延时,首先看一下如下代码,实…