正确应用索引--分布式MySQL应用的大前提

分布式MySQL应用的要点:
1.灵活应用操作系统缓存
2.正确设置索引
3.以横向扩展为前提设计

灵活运用操作系统缓存:

1.考虑全部数据量
->保持数据量小于物理内存
->内存不足时增加内存等
2.考虑表结构设计对数据大小的影响

索引的重点:

index = 索引
B+树
1.搜索外部存储设备时能将寻道次数最小化的树结构
2.搜索复杂度:O(n) -> O(log n)

[例子]从4000万条数据的标签表中搜索
无索引 = 线性查找
-> O(n) ->最大4000万次搜索
有索引 = 用B树进行二分查找
-> O(log n) ->log 4000万 = 最大25.25次

[补充]索引的作用--MySQL的不足

1.基本上,使用索引的有
   ->where,order by,group by条件中指定的列
2.合适索引有效
   ->明确地添加了索引
   ->主键,UNIQUE约束
3.MySQL索引的陷阱
   ->想同时使用多个列上的索引,就必须使用复合索引

确定索引是否有效的方法--explain命令

从索引生肖的方式来看,Extra列也十分重要。除了Using Where之外还可能出现Using filesort,Using temporary等,分别表示使用外部文件进行排序,使用临时表时需要索引等。基本上出现了Using filesort,Using temporary的查询不能说是好查询,所以要努力调整查询和索引,尽量不要出现这两者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值