随笔分类 -  MySql

摘要:刚收到网易面试通知,顺便回顾了下网易的笔试题,发现有一道题目理解不是很透,写个随笔记录下。题目内容是这样的:数据库理论中取出右侧关系中所有与左侧关系的任一元组都不匹配的元组,用空值来填充所有来自左侧关系的属性,再把产生的元组加到自然连接的结果上,这种连接运算为_____。在MySQL中,连接操作主要有五种:1.交叉连接(CROSS JOIN)交叉连接是最简单的连接类型,它对所有涉及连接的表相乘,然后创建一个包含所有内容的产物。例如有两个表attribute和color内容如下:mysql> select * from attribute;+-----------+| attribute 阅读全文
posted @ 2011-10-25 18:01 chainsaw 阅读(849) 评论(0) 推荐(0)
摘要:淘宝校招二面PHP 悲剧:问题一:新浪微博首页 你和他共同关注的人 功能实现,用于存储人这个信息的方法是什么?1.可以使用redis的set方式存储,使用sinter命令返回交集。2.可以使用PHP的array_intersect函数实现。问题二:PHP静态类的特性?答:1、被声明为静态类的类不允许包含任何非静态成员2、抽象静态类中的静态方法不允许调用,它必须先被继承。3、在静态类中,允许抽象的静态方法。4、静态类不允许含有 构造函数、析构函数、动态拦截函数以及 __toString()。5、静态类不允许继承自非静态类。6、为了向下兼容,目前含有静态成员的抽象类/非静态类的行为不会被改变。7、 阅读全文
posted @ 2011-09-24 10:32 chainsaw 阅读(982) 评论(30) 推荐(3)
摘要:MySQL 使用的join算法和oracle比较不同的地方就是,MySQL只有一种join算法,就是Nests loop join,他没有hash join和sort merge join。Nests loop join算法实现的机制很简单,就是从驱动表中取数据作为循环基础数据,然后以这些数据作为查询条件到下一个表中查询,如此往复。这个实现的机制类似foreach函数的遍历。 因此带来的问题就是我们join的表越多,函数嵌套的层数就越多,算法复杂度指数级增长。因此,设计数据库的使用要尽量全面的设计schema,如果实在不行要使用join语句,也尽量少的嵌套数据表。 阅读全文
posted @ 2011-08-12 14:31 chainsaw 阅读(238) 评论(0) 推荐(0)