数据库索引

2,索引:
.例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。

建立索引:CREATE   INDEX   indexname  ON  tablename  (字段名1,字段名2);
3,索引原理:
常规的查询类似于数组的遍历,1000个数据中找一个值需要1000次O(n),索引就是将数据不以数组的形式存储,而是以平衡树的形式存储,将数据摆成一行去查找当然没有,把数据摆成一个树去查找快。

比如我要查找id值为22的那一行,如果没有索引,需要遍历34,77,5,91,22才找到,查询复杂度O(n);
但是使用了索引,将数据以树的形式存储到内存中,当查询22时,从树根遍历,22小于34,往左查询,耶!找到了,地址是0x90,才遍历2次!算法复杂度是O(log2 n);

一般查询的时候使用where语句查,这个索引一般建立在这个where的字段上。

增删改查中,只有经常查询的表应该建立索引。经常增删改的表不要建立索引。因为索引需要维护一棵树,经常增删改会对树的结构造成改变,维护起来代价更高。而查询数据并不会改变树的结构。

 1,表连接:把一个表的返回结果作为另一个表查询数据的条件。https://www.cnblogs.com/thomasguan/p/4252410.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值