文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql相关知识整理(参考《高性能MySQL》)

2014-11-12 18:18

关注

mysql相关知识整理(参考《高性能MySQL》)

2.事务的隔离级别

未提交读:事务的修改,即使没有提交,对其他事务也都是可见的。(有脏读可能性)
2.已提交读:一个事务从开始直到提交之前,所作的任何修改对其他事务都是不可见。(有不可重复读可能性)
3.可重复读:同一个事务多次读取同样的记录是一致的。(有幻读可能性)。MySQL的默认隔离级别,InnoDB采用了MVCC(多版本并发控制)解决了幻读的问题。
4.可串行化:强制事务串行执行,避免幻读。会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁竞争的问题。一般很少用到,效率比较低。

3.死锁

两个或者多个事务在同一资源上相互占用,并请求锁定对方占用的资源。

4.事务日志

使用事务日志,存储引擎在修改表的数据只需要修改其内存拷贝,再把修改行为记录到事务日志中(事务日志采用的是追加的方式),事务日志持久化以后,内存中被修改的数据在后台可以慢慢地刷回到磁盘。修改数据需要写两次磁盘。

5.索引的数据结构

B+Tree:所有的值都是按顺序存储,并且每个叶子页到根的距离都相同。
2.Hash:基于哈希表实现,只有精确匹配索引所有列的查询才有效。

6.索引的类型

普通索引 2.唯一索引 3.主键索引 4.全文索引

7.索引的策略

独立的列(单个索引):索引的列不能是表达式的一部分,也不能是函数的参数,否则索引会失效。(不要对索引进行计算)
2.前缀索引:选择足够长的前缀保证较高的选择性,前缀的选择性应该接近于完整列的‘基数’;一个常见的场景是针对十六进制唯一ID使用前缀索引,采用长度为8的前缀索引通常能显著的提升性能。
3.多列索引(组合索引):最左原则;通常情况下,当不需要考虑排序和分组时,将选择性最高的列放在最前面是最好的。但是性能不只是依赖于所有索引列的选择性,也和查询条件的具体值有关,也就是与值的分布有关。可能需要根据那些运行频率最高的查询来调整索引列的顺序。
4.聚簇索引:并不是单独的索引类型,而是一种数据存储方式。叶子页中保存了索引值和数据行。InnoDB引擎中,主键索引通常为聚簇索引,若没有主键,则选择一个唯一非空索引代替。如果没有这样的索引,则会隐式的定义一个主键来作为聚簇索引。
5.非聚簇索引:也就是二级索引。聚簇索引的缺点之一:非聚簇索引的叶子节点中包含了引用行的列的主键列,通过非聚簇索引访问需要二次索引查找。因为非聚簇索引叶子节点中保存的不是行的物理位置,而是行的主键值,存储引擎需要先从叶子节点中获取对应的主键值,在根据这个主键值去聚簇索引中查找对应的列。
6.覆盖索引:一个索引包含所需要查询字段的值,就称之为覆盖索引(索引的叶子节点包含了要查询的数据)。覆盖索引对于InnoDB的聚簇索引特别有用,如果二级索引能够覆盖查询,则可以避免对主键索引的二次查询。

8.查询性能的优化

1.慢查询原因

是否向数据库请求了不需要的数据。(比如查询返回的所有的列)
2.是否扫描的额外的记录(响应时间、扫面的行数、返回的行数);通过检查慢日志记录找出扫描行数过多的查询是个好方法。

2.重构查询方法

切分查询:将一个大的DELETE查询语句,切分成多个较小的查询。
2.分解关联查询:将一个关联查询分解为多个查询,在应用层做关联查询。(充分利用缓存)

3.优化特定的查询

优化limit查询:当limit查询时,偏移量过大时,MySQL会扫描大量不需要的行然后在抛弃。可采用‘延迟关联’,先查询出主键,在通过主键去查询(聚簇);或者,若知道上一次去取数据的位置,可先通过where取过滤,在limit操作。

今天就到这了。。。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯