- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql索引和锁机制简介及SQL优化;1;什么是索引;什么是索引;二叉查找树特点;Btree特点;B+tree特点;B*tree特点;为什么使用B-Tree(B+Tree);为什么使用B-Tree(B+Tree);B+Tree页结构;MyISAM主键索引;MyISAM非主键索引;Innodb主键索引;Innodb主键索引;Innodb非主键索引;B+Tree的插入;B+Tree的插入;B+Tree的插入;建索引策略;建索引策略;全文索引;自适应Hash索引;自适应Hash索引限制;1;表结构设计原则;表结构设计原则;分析SQL效率方法;最左前缀原理与相关优化;全列匹配;首列匹配;第二列未匹配;未匹配;Like匹配;Like未匹配;范围匹配;Between匹配;???数无法匹配;左侧表达式无法匹配;索引与排序;索引与排序;索引与排序;覆盖索引;未覆盖索引;左连接还是子查询?;使用自增字段做主键;使用自增字段做主键;Select指定列来代替select *;Select count(*);Select count( distinct)优化;在mysql端分页将明显减少用户延迟,不管是mysql内部处理还是网络传输,性能都会大大提高。
每次20-100行是比较可行的。
当offset比较大时:
select SQL_NO_CACHE * from abc limit 10000,10?多次运行,时间保持在0.0187左右
?select SQL_NO_CACHE * from abc where id=100000 limit 10;多次运行,时间保持在0.0061左右,只有前者的1/3。
也是带自增ID的表的一个优势。;Sql里面含有or不会用到索引。
例如name和age都有索引:
Select * from user where name=‘hehe’or age=41;
全表扫描
改成
Select * from user where name=‘hehe’union all select * from user where age=41;
可以用到索引。
;Select * from
{
select a.id,a.name,a.age,b.name from a, b
where a.id=b.id order by a.age DESC
} as tmp limit 0,20;
改成:
Select a.id,a.name,a.age,b.name from a join b on a.id=b.id order by a.age DESC limit 0,20;
避免了子查询。
;On duplicate key update
Insert into user values(…..) on duplicate key update name =‘d’, age=41;
强烈建议使用。
消除了大量业务逻辑处理,一个事务中完成,效率大大提供。
;尽量少 join
尽量少排序
尽量少 or
尽量用 union all 代替 union
尽量早过滤 (如ICP,条件过滤放在了数据引擎层)
不必要的表自身连接
Where替换Having,having在检索出所有记录后再进行统计,避免使用。
避免类型转换比如 select * from order where ORDER_ID=12345; 忘记加引号,而且用不上索引。
避免使用MYSQL自带函数
拿不准的时候尽量使用Explain和show profiles来判断执行情况。;1;MyISAM: 表锁
Innodb:行锁
nnoDB实现了以下两种类型的行锁。
l? 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。
l? 排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。
;另外,为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁。
l? 意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。
l? 意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁。
;
请求锁模式
?? 是否兼容
当前锁模式;锁类型;锁类型;锁实现;锁实现;锁实现;锁实现;锁算法;锁算法;锁算法;锁算法;死锁;死锁;死锁;Q A;Date
您可能关注的文档
最近下载
- 《趣味的手工创意--向日葵》-美术课件.ppt VIP
- 派出所民警先进事迹材料三篇 .doc VIP
- VIVITEK丽讯RU76953使用说明书.pdf VIP
- 原调正谱bE边疆的泉水清又纯钢琴伴奏联考.pdf VIP
- 泳池工程施工设计方案(3篇).docx VIP
- 少儿水粉 玫瑰庄园—美术课件.pptx VIP
- (一模)贵阳市2025年高三年级适应性考试(一)地理试卷(含官方答案).docx
- 《模型构建在高中生物教学中的应用研究》课题研究方案.doc
- 精品解析:四川省成都市武侯区2024-2025学年上学期八年级期末考试数学试题(原卷版).docx VIP
- 苏J9508室外工程-标准设计图集.pdf VIP
文档评论(0)