文章分类 -  数据库基础知识

摘要:in与exists区别IN 确定给定的值是否与子查询或列表中的值相匹配。EXISTS 指定一个子查询,检测行的存在,空行NULL为false,非空行为true。一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度。exists做为where 条件时,是先对where 前的主查询询进行查询,然后用主查询的结果一个一个的代入exists的查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出。in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。 阅读全文
posted @ 2011-11-16 21:25 互联网的一块砖 阅读(117) 评论(0) 推荐(0)
摘要:1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的"性别"列上只有"男"与"女"两个不同值,因此就无必要建立索引。如果建立索引 阅读全文
posted @ 2011-11-16 21:23 互联网的一块砖 阅读(476) 评论(0) 推荐(0)