代码改变世界

随笔分类 -  数据库

论IP地址在数据库中应该用何种形式存储

2011-01-09 03:46 by 吴秦, 37667 阅读, 收藏, 编辑
摘要: 在看公司项目代码时,有涉及到ip地址存储, 使用的是varbinary(4),但没有文档说明 这引发我的思考——缘起 当设计一个数据表时,考虑使用何种列的数据类型对性能有比较大的影响,如存储空间、查询开销等。甚至还影响到一些操作,如ip地址以字符串的形式存储在数据库中,就不可以直接比较大小。还有一点需要考虑,那就是可读性!数据虽然是存储在数据库中,但也要考虑到可读性问题。 本文要探讨的是“IP地... 阅读全文

SQL过关

2010-07-25 22:50 by 吴秦, 13494 阅读, 收藏, 编辑
摘要: 引言 做为一个web开发者,不与数据库打交道几乎是不可能的!由此可见,掌握SQL语句对于一个web开发人员来说是多么的重要。下面是我在整理电脑时,找到的资料,觉得还不错就拿出来与大家分享。不废话了,好不好你看了就知道。进入主题,本文的主要内容如下: 问题背景 SQL查询54问? 1、问题背景 本文中的SQL语句都是基于下面几张表的,这也是比较经典的用于数据库教学的数据库例子。 (1)/*员工人... 阅读全文

如何从单行提取成多行(TSQL)?

2010-05-05 22:39 by 吴秦, 4646 阅读, 收藏, 编辑
摘要: Outline: 问题产生背景 交叉连接 UNION操作 WITH子句 性能比较 抛砖引玉(欢迎指教!) 问题产生背景 从一个仅有数额指标的交易表中创建一个查询,这个查询用于会计日志条目。因此如果一个日志条目应该有存款和借款,但是其他的值应该是相同的,因此我想通过SQL查询从一行提取2行记录。听起来很模糊?我Google之后发现没有任何结果,所以我就写了这篇文章。为了简化,这里举个例子。我有一张... 阅读全文

偶遇with ties

2010-03-29 22:18 by 吴秦, 5855 阅读, 收藏, 编辑
摘要: 今天在园子里看了关于索引的一道经典面试题,讲了这样一个问题“从100万条记录中的得到成绩最高的记录”。看到这个题目,通常我们的做法是: 但是这样做你会发现,如果有几个人分数并列第一,这样就只能取到一个记录。用下面的代码的话,就可以正确地取出分数第一的所有记录:由于以前没有用过with ties ,看到这个比较新奇,故随后MSDN,Google,Baidu之。 WITH TIES 指定从基本结果集... 阅读全文