- 浏览: 47166 次
- 性别:
- 来自: 杭州
最新评论
文章列表
基于SAE的快递查询网站:http://kuaidi001.sinaapp.com
欢迎TXM测试提出建议!
with nolock 相当于 READ UNCOMMITTED事务隔离级别.
注:
----------------------------------------------
READUNCOMMITTED
指定允许脏读。这表示不发放共享锁,也不遵守排它锁。允许脏读会导致更高的并发性,但会降低一致性。如果指定了 READUNCOMMITTED,就有可能读取未提交的事务,或读取在读取过程中回滚的一套页,因此可能出现错误信息。
----------------------------------------------
优点:
sql查询 ...
开发语言:Python
框架:django
托管服务器:Google云 GAE(google app engine)
地址:http://lexinquan.appspot.com
微软Visual Web Developer 2010 Express是一款免费的开发环境,可以用来创建、测试和部署Web应用程序,支持ASP.Net、IIS、SQL Server等微软Web平台,微软正式提供了Visual web Developer 2010 Express的免费下载。
有了Visual Web Developer 2010 Express,你可以使用Web Standards、JavaScript和ASP.NET,可以使用各种新兴Web技术创建应用程序,包括AJAX、Silverlight等。Visual Web Developer 2010 Express还整合了调试 ...
百度BMap API发布,和google map 相差不大,万一哪天google map停了,比较容易切换到百度的了,不知百度以后会不会收费,估计服务那一块可能性比较大。
刚刚试用了一下,有两点注意:
1.要加载缩略图,标尺控件位置需注意 放在 map.centerAndZoom(point,15);后面,否则 this.centerPoint 为null。
2. 要使用服务API,注意 &services=true。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ...
1、数据库索引创建检查。包括:(a)索引字段应为差异性较大、长度较小的类型,枚举类型字段不要建索引;(b)防止创建包含过多字段的复合索引;(c)索引字段的值不要出现过多空值或重复值。
2、数据库索引使用检查。 ...
1、所有的SQL exception 信息都不能直接返回给客户端。
2、在任何情况下使用完Connection后都要释放连接,特别是在抛出异常的时候也要释放Connection。
3、表中的用户敏感信息要加密存储,最好在加密的时候加入几位随机数。
4、所有的数据库访问都用preparestatement的方式或者封装为存储过程。
5、配置文件中的数据库访问用户名和密码都加密并编码存放。
6、系统上线运行时,仅给数据库用户必要的权限。
数据库设计经验之--应用程序开发
- 博客分类:
- 数据库
1、缓存数据库配置、枚举定义表信息,减少对数据库的访问。
2、使用连接池,并且控制最大连接数。
3、数据库访问都通过存储过程实现,尽量不要直接操作表。
4、如果一个业务多次调用不同的存储过程,可以考虑合并在一个存储过程中,减少数据库访问。
5、合并业务请求,同类型请求合并成一个大请求,提交给数据库。
6、应用程序使用内存缓存操作极其频繁的表,缓存的内容可以精简,但要注意数据同步更新问题。
7、在一个业务逻辑处理中,如果多次运用同样的prepareStatement,那就尽量只创建一个statement并重复使用。
8、在释放连接的时候,如果连接处于事务状态,一定要rollback ...
1、数据库访问,最好全部固化成存储过程,保存在数据库中。同时尽量不使用trigger机制,难以管理及查错。
2、数据库操作时,仅选择有用列。除非有充足理由,不应该出现select * 的形式。
3、存储过程中尽量少用会引起存储过程重新编译的脚本,例如:动态sql语句、临时表、DDL语句。
4、以DB2为例,只读操作加上for fetch(read) only,如果只需要检索结果的几个,可以加上order by,fetch first x rows语句。
5、存储过程尽量精简,只实现简单IO,业务逻辑编放在中间层实现。
6、对于多个小更新操作,可以把所有更新放入一个批处理中,避免多次提交 ...
数据库设计经验之--索引的设计
- 博客分类:
- 数据库
1、索引应该有足够的区分度,对区分度不大的列(例如枚举类型字段),不应该做索引(这时候应该考虑加上诸如时间范围这样的限制条件对记录进行筛选)。对一个表中最影响性能的列,可以考虑做聚簇索引。
2、小表少建索引或不建索引,可以加载到内存中访问。
3、索引字段一般为差异性较大、长度较小的类型,在这些字段上经常做一些选择性查询、排序、分组、关联操作。外键作为表关联字段,如果常作关联查询,可以建索引。
4、对于频繁更新及插入的数据表,定义索引不宜过多,同时可以考虑适当保留空闲索引空间,也就是说让数据不连续,提高索引键更新及插入效率。
5、办公系统中,对一个表可能有很多筛选项,且不是必选项。所以,倾 ...
1、定义一些字典表,在命名字段并为其指定数据类型的时候要保证一致性,可以在字典表里定义常用字段的名称、类型、枚举值及其对应的意思。枚举值可以用整型(有大小关系,例如:权限级别)或短字符代码(便于扩充,例如:渠道标识),这样在实际表记录中字段值可以较小,对于大表可以省空间,同时提高表扫描的效率。
2、尽量不要使用auto_increment类型字段作为主键,这样会使分布、备份、还原有一定的问题。
3、如果表中的数据会经常变动,一定要加上“最近更新日期/时间”字段,对于频繁变动的记录,还可另外再加一个变更日志表。变更日志表一般在查错或事后审核时用,所以在实时系统里该表可以不加任何主键及索引,提高 ...
1、对使用数据库的系统进行分类:联机事务处理系统OLTP,联机分析处理系统OLAP。针对OLTP和OLAP系统特性的不同,分离实时数据库与非实时数据库,除非必要的查询,所有的查询尽量放在非实时数据库上。可以用相关数据库产品 ...
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
(2) WHERE子句中的连接顺序.:
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些 ...
增加、编辑、删除等功能,几乎每个系统都会用到,针对这几个方面,写如下测试用例
一:增加
1:在添加页面,输入要添加的数据项均合理,检查数据库以及列表页是否添加了相应的数据
2:在添加页面,留出一个必填项为空,检查是否会提示
3:按照边界值等价类设计测试用例原则设计其他输入项测试用例
4:不符合要求的地方要有错误提示
5:是否支持table键
6:按enter是否能保存
7:若提示保存,也要查看数据库里是否多了一条数据
二、删除
1、删除一个数据库中存在的数据,然后查看数据库以及列表也中是否删除
2、删除一个数据库中并不存在的数据,看是否有错误提示,并且数据库中没有数据被删除
3、输入一个格式错误 ...
在template中使用中文时,会出现UnicodeDecodeError,原因是网页编码可能是gb2312.将网页源码然后直接复制到记事本,保存文件的时候编码是ANSI,这样在读取模板的时候就出了问题。解决的办法是,在复制代码前,把浏览器编码改为UTF-8,复制后记事本点另存为,编码选UTF-8,这样就正常了。