周末终于搬进出租房了,装了宽带。。。。才发现没网的日子。。。那是一个怎样的与世隔绝呀。。。再也受不了那样的日子了。。。。好了,既然网安上去了,还得继续我的这个系列。 索引和锁,这两个主题对我们开发工程师来说,非常的重要。。。只有理解了这两个主题,我们才能写出高质量的sql语句,在之前的博客中,...
分类:
数据库 时间:
2015-02-01 23:14:31
阅读次数:
336
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选...
分类:
数据库 时间:
2015-01-05 09:28:05
阅读次数:
212
可使用复合索引在同一个数据表里创建多个相互独立的自增序列,具体做法是这样的:为数据表创建一个由多个数据列组成的PRIMARY KEY OR UNIQUE索引,并把AUTO_INCREMENT数据列包括在这个索引里作为它的最后一个数据列。这样,这个复合索引里,前面的那些数据列每构成一种独一无二的组合,...
分类:
数据库 时间:
2014-12-25 17:50:25
阅读次数:
126
这两天有个很强烈的感觉就是自己在一些特别的情况下还是hold不住,脑子容易放空或者说一下子不知道怎么去分析问题了,比如,问“hash和btree索引的区别”,这很难吗,只要掌握了这两种数据结构稍加分析就能得出答案,结果是一下子不知道从何说起。进入正题吧,这两者有啥区别。
1. hash索引查找数据基本上能一次定位数据,当然有大量碰撞的话性能也会下降。而btree索引就得在节点上挨着查找了,很...
分类:
数据库 时间:
2014-12-16 17:09:40
阅读次数:
237
索引是用于加速数据存取的数据对象,合理使用索引可以大大降低I/O次数,从而提高数据访问性能。为什么添加了索引后,会加快查询速度呢?单列索引:单列索引是基于单个列所建立的索引,例如:创建单列索引:sql>createindexindex_nameontable_name(field_name);复合索引:是..
分类:
数据库 时间:
2014-11-27 12:59:27
阅读次数:
180
对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。下面用几个例子对比查...
分类:
数据库 时间:
2014-11-11 20:59:57
阅读次数:
318
1.索引不存储null值。更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Null...
分类:
数据库 时间:
2014-10-29 12:12:57
阅读次数:
156
1 --==============================索引=============================== 2 --简单索引 3 --默认为:非聚集、非唯一、升序排列 4 CREATE INDEX IX_例一 5 ON 产品(产品名称) 6 7 --复合索引 8 --.....
分类:
数据库 时间:
2014-10-23 14:15:38
阅读次数:
138
1.如果Key是空的,那么该列值的可以重复,表示该列没有索引,或者是一个非唯一的复合索引的非前导列2.如果Key是PRI,那么该列是主键的组成部分3.如果Key是UNI,那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL)4.如果Key是MUL,那么该列的值可以重复,该列是一个非...
分类:
数据库 时间:
2014-10-16 13:28:12
阅读次数:
201
数据库的常见的索引一般是单个字段,如果多个字段的组合,那么就组成了复合索引。对于组合索引,如果对其中一字段做为条件查询,会出现什么情况呢?一、例子mysql> show create table watchdog\G*************************** 1. row *****.....
分类:
数据库 时间:
2014-10-11 00:05:04
阅读次数:
388