mysql:索引+优化+锁

1.索引

索引类型:

	普通索引,主键索引,唯一索引,组合索引,全文索引

索引优缺点:

	优点:查询块

	缺点:浪费存储空间,在增删改的时候需要额外的维护,

不走索引:

	null   ,like   ,!=(<>)   ,or    ,not  

查看是否走索引:

	explain:noindex(未走索引),using index(使用索引)

	explain可以用于分析SQL语句。

hash索引跟Btree索引:

	hash索引无法:排序,无法范围查询,每次都要全表扫描,hash冲突。



delete与truncate

	truncate性能更高(truncate是DDL语言,delete是DML)

	truncate删除后不能回复,不能回滚,即不支持事务

2.优化

	尽量不使用select * 

	为搜索字段建索引

	为每张表设置一个主键ID(int)

	使用not null 而不是null(null需要额外的空间来记录它们的值是否为null)

	(MySQL难以优化引用了可空列的查询,它会使索引、索引统计和值更加复杂。可空列需要更多的储存空间,还需要在MySQL内部进行特殊处理。(可以考虑用0或空字符串代替null)

	垂直分割(拆分为多个小表,比如不经常用的跟经常用到的)

	水平分割

3.锁

	表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 
	行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 
	页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值