摘要: 目标:整理数据,使不连续的主键Id数据记录变的连续。 反模式:填充断档的数据空缺。 1、不按照顺序分配编号 在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键机制。 使用Select Max(Id) + 1 这种查询语句,会出现并发访问的问题。 2、为现有数 阅读全文
posted @ 2014-10-17 16:57 张传宁 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句。 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别的内容,而这些被插入的内容以你不希望的方式修改了查询语法时,SQL注入就成功了。 传统的SQL注入案 阅读全文
posted @ 2014-10-17 15:08 张传宁 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 目标:恢复或重置密码 反模式:使用明文存储密码 1、存储密码 使用明文存储密码或者在网络上传递密码是不安全的。 如果攻击者截取到你用来插入(或者修改)密码的sql语句,就可以获得密码。 黑客获取密码的方式有很多种: (1)在客户端和服务器端数据库交互的网络线路上接货数据包。比如使用Wireshark 阅读全文
posted @ 2014-10-17 11:27 张传宁 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 目标:减少输入 反模式:捷径会让你迷失方向 使用通配符和未命名的列能够达到减少输入的目的,但是这个习惯会带来一些危害。 1、破坏代码重构:增加一列后,使用隐式的Insert插入语句报错; 2、查询中使用通配符,影响性能和扩展性。大量数据在网络之间传输,可能会造成阻塞。 如何识别反模式:当出现以下情况 阅读全文
posted @ 2014-10-17 10:31 张传宁 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积。导致查询性能降低。 如何识别反模式:当出现以下情况时,可能是反模式 1、为什么我的求和、技术返回的结果异常地大? 2、我一 阅读全文
posted @ 2014-10-17 10:01 张传宁 阅读(826) 评论(0) 推荐(0) 编辑
页脚 HTML 代码