mysql高级优化
文章平均质量分 87
mysql
兴趣使然的CV工程师
摆烂高手
展开
-
5.mysql的锁
锁的分类按照锁的类型来分:读锁(共享锁):针对同一份数据,多个读的操作可以同时进行而不会产生其他的影响 写锁(排他锁):当前的写操作没有完成之前,会阻断其他写锁和读锁按照锁的粒度来分:表锁--MyISAM使用,开销小,加锁快,无死锁,锁的粒度大,发生锁冲突概率最高,并发度最低 行锁--InnoDB使用,开销大,加锁慢,会出现死锁,锁粒度小,发生锁冲突的概率最低,并发度也最高 页锁操作锁的语句查看是否有锁show open tables加锁语句,book表上一个写锁,myl原创 2021-09-26 21:00:12 · 71 阅读 · 0 评论 -
4.sql优化
对于如下的索引表,对explain关键字做一些细致的解释建立复合索引如下:CREATE INDEX idx_test03_c1234 ON test03(c1,c2,c3,c4);对于如下的两条sql语句,其实是一模一样的,因为mysql有自己的优化器,但是最好还是按照顺序来写select * from test03 where c1='a1'and c2='a2'and c3='a3' and c4='a4';select * from test03 where c4='a4'an.原创 2021-09-26 15:38:05 · 71 阅读 · 0 评论 -
3.索引优化
单表查询优化:对于如下的一张表此时如果我们不建立索引,对于如下的一个查询语句SELECT id,author_id FROM article WHERE category_id=1 AND comments>=1 ORDER BY views DESC LIMIT 1;我们采用explain关键字分析之后,type为all,而且extra还出现了using filesort效率是很低的开始优化:建立索引+删除索引CREATE INDEX idx_article_..原创 2021-09-25 16:39:14 · 156 阅读 · 0 评论 -
2.Explain
是啥?使用explain关键字可以模拟优化器执行sql查询语句,从而知道mysql是如何处理sql语句的,分析查询语句或者是表结构的性能瓶颈,EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划语法:explain+sql语句查询结果展示对关键字段做出解释:id:select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序id相同:执行顺序由上到下 id不同:如果是子查询,id的序号会递增,id值越大的表示优先级越高,越先被原创 2021-09-24 22:20:04 · 92 阅读 · 0 评论 -
1.常见的join查询+索引初识
sql的执行顺序对于如下一个sql语句select distinct <select_list> from <left_table> <join_type>join <right_table> on <join_condition>where <where_condition>group by <group_by_list>having <having_condition>order by.原创 2021-09-24 20:52:31 · 602 阅读 · 0 评论