1.innodb解决死锁:死锁检测,死锁超时,将持有最少行级锁的事务回滚
2.数据库死锁产生的原因:1.数据冲突, 2存储引擎的实现方式导致的?
3.数据类型:
     整型尽量使用小的int类型;建议不要null ;
     财务数据精度可以*1000存为bigInt型;因为decimalmysql处理效率低;
     定长字符串使用char比如md5加密,短的字符串,更新较多的;
     varchar适合数据更新少,不定大小;utf-8的字符集存储等  ;
     varchar(10)  比varchar(20)好,前提是满足字符串要求;
    blob和text的区别:blob存储的是二进制数据,text存储的是字符集可以排序,不过只能排序max_sort_length长度,如果需要排序可以       使   用  order by sustring(column,length);
   myisam不支持使用blob和text,强行使用会存到磁盘临时表效率低,另外useing temporary说明这个查询使用了隐士临时表
   timeStamp 比dateTime效率更高
4,alert table优化:新建一张表然后切换,如果只是修改默认值等可以直接修改.frm 文件:
alter table bb_business_source_temp alter column source_id set DEFAULT  '1';
5.索引:
     索引的最左前缀原则:select  * from u where u.id =? and u.name like 'l%' and u.age =? 只能使用id  ,name  两个字段的索引
    hash索引:根据列的值计算hash值组成的索引,相同的hash值存链表,所以查找快,但是因为是根据hash来索引不支持排序,对于组        合  索引(a,b)  不能单独使用a,只能a,b全部使用,不支持范围查询比如pice>1000,支持= in ()
6.索引的选择:
   出现   mysql自动的索引合并策略说明索引建的垃圾,因为会消耗cpu和算法,返回更多的列,实际explain计算的消耗是不计算这些的
 
转存失败重新上传取消
7. 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新 利用未使用的空间,并整理数据文件的碎片。【当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。 在OPTIMIZE TABLE运行过程中,MySQL会锁定表
8. innodb的顺序主键问题:
转存失败重新上传取消
innodb_autoinc_lock_mode 0,1,2
lock_mode 参数详解: https://blog.csdn.net/cug_jiang126com/article/details/52987587
覆盖索引的应用:延迟关联: https://www.cnblogs.com/wang-meng/p/ae6d1c4a7b553e9a5c8f46b67fb3e3aa.html
9.mysql  执行sql扫描数据:
   explain  查看mysql扫描了2w数据,实际上mysql真正扫描的数据比这个大,很多被where条件过滤掉了,
   select id,count(*) from  T where  。。 group by  id   
   这个语句可以用覆盖索引优化避免回表查询
10.重构查询方式:
 1. 大的sql可以考虑分开,比如delete 删除历史数据
  2.转存失败重新上传取消
3.转存失败重新上传取消
11.mysql能处理的优化类型:
   1.重新定义关联表的关联顺序
   2.将外连接(左右链接)转换为内连接(inner Join)
   3.覆盖索引扫描:如果查询返回的列如果索引都包含了直接走索引不走磁盘
   4.优化min,count,max:比如查询最小的值直接返回索引的最左侧的值 
   5.in()  mysql会把in中的值排序,然后用二分搜索法搜索符合的值,O(logn),而or时间复杂度是O(n)
12当mysql不能通过索引顺序来排序的时候,就会使用内存或磁盘来排序都是filesort
   mysql排序算法有两种:
  1(旧)先取需要排序的字段排序一次Io,排序完后再获取其他的字段两次IO
  2(新)直接取出来所有的数据,然后排序,减少了IO,但是如果查询的数据多会占用大量的空间
    两种算法都有他的优缺点,可以通过mysql的参数max_legtn_for_sort_data来动态切换
  mysql 关联查询的排序:
    如果只用第一个表的字段来排序,那么mysql再处理第一个表的时候就会进行 文件排序,explain时只有using fileSort. 其他情况都会是 using fileSort .  using temporary
13    explain EXTENDED    ;   show WARNINGS; 可以查看sql被优化过后是怎么执行的
14.  mysql查询缓存:
     1. mysql通过计算查询语句的hash值来判断,sql如果包含任何的不确定条件或者函数查询缓存都不生效,
     2. 查询缓存会跟踪语句涉及的每张表,如果表被更新相应的查询缓存也不生效
     3.对于inndo引擎来说,如果一个事务修改了一张表,会将相关的表的查询缓存失效,又因为inndo的数据多版本问题导致这个事务的修改对其他用户来说是不可见的,
此时所有的其他关联这个表的查询缓存都失效了。所以长时间运行的事务会大大降低查询缓存的命中率
   4.查询缓存问题查询:

Mysql高性能pdf阅读内容整理相关推荐

  1. 20个MySQL高性能架构设计原则(收藏版)

    墨墨导读:MySQL如何实现高性能?以下内容是结合其他技术同仁的总结和自我实践整理的20个开源数据库设计原则,分享至此,希望对大家有帮助. 开源数据库架构设计原则 01 技术选型 选择成熟的平台和技术 ...

  2. 如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  3. 读科研文献也能泄露隐私,用户发现爱思唯尔PDF阅读器收集用户信息

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 阅读科学 ...

  4. 快速消除PDF复制内容里的换行

    前情提要 现在大部分的文献都是PDF格式的,因此在做文献阅读笔记整理的时候,经常会涉及到要复制PDF里的内容.但是粘贴的时候就会出现各种"千奇百怪"诡异的换行,一点一点的消除换行真 ...

  5. PDF 阅读与注释的实践——知之阅读、Markdown+Git、Kami、Edge、Mendeley、Zotero

    PDF 阅读与注释的实践--知之阅读.Markdown+Git.Kami.Edge.Mendeley.Zotero 原始文档:https://www.yuque.com/lart/tools/zote ...

  6. MySQL高性能实战——part3——分析SQL,定位慢SQL(性能优化的前提)

    前言: 此文借鉴<MySQL高性能>一书,还有MySQL官方文档,笔者将通过自身的一些实战经验和阅读习惯对本书进行一个总结,整理,归纳出企业级开发中常用的优化案列和部分概念!! ​ 官方文 ...

  7. MySQL高性能及性能优化技巧---更适合开发人员

    更新次数 更新时间 首发 2021.10.25 第一次更新 2021.10.26 1.删除了书中大量不必要的存储引擎类型 2.摘要完毕Mysql架构与历史部分 第二次更新 2021.10.29 1.摘 ...

  8. 2021秋招-机器阅读理解整理

    机器阅读理解整理 经典模型整理 笔记 后Bert时代机器阅读理解 后续 自己论文整理 已经分类整 大的实验室: UCL MRC_Group: AI2: 微软: THU: PKU: 数据集文章 ROPE ...

  9. 一款好用的运行在Android手机上的pdf阅读器

    目录 ​ 一.背景 二.解决了什么痛点问题 三.PdfReader如何解决问题 1.建立pdf文件索引数据库 2.pdf文件移动功能 3.pdf查看功能 扫码下载app使用 一.背景 用户使用手机查看 ...

最新文章

  1. Win7下MATLAB 7.0下载地址和详细安装
  2. SAP RETAIL 特征参数文件(Characteristic Profile) III
  3. 当用户在DIV之外单击时,使用jQuery隐藏DIV
  4. python序列类型-Python内置序列类型之集合类型详解
  5. LeetCode Power of Two
  6. Android笔记 隐式意图demo
  7. 84相似标准形05——有理标准形的不变因子、矩阵的有理标准形
  8. .Net中数据绑定控件应用小技巧
  9. JAVA常见算法题(四)
  10. php 和 java_Java和php怎么选择??
  11. 《Qt基础教程之Qt学习之路》
  12. CREO图文教程:利用CREO软件实现模型零件设计实例大全(曲柱、矿泉水瓶、三弯管、风扇叶、一腔多模、螺旋弹簧、数字刻度、足球设计、齿轮参数化设计、油缸)等几十个案例之详细攻略
  13. 思科模拟器企业网站服务器配置,cisco模拟器配置域名web服务器
  14. 壬寅年黄帝故里拜祖大典“中华始祖杯”书画大赛云展厅今日开展
  15. 【游戏开发进阶】教你使用IL2CppDumper从Unity il2cpp的二进制文件中获取类型、方法、字段等(反编译)
  16. GRE所有填空真题 TC300RC240 高频词分享
  17. 使用Uber-go Zap日志库
  18. Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
  19. 大作业系列之体育课 | 从NBA中看篮球精神
  20. JAVA EE项目开发及应用实训报告——网上考试系统

热门文章

  1. 使用Python进行数据科学入门
  2. 模拟经营游戏:过山车大亨3 for mac中文版(支持m1)
  3. python人物代码_Python 超级玛丽代码实现:人物行走和碰撞检测
  4. DVWA通关攻略之暴力破解
  5. 修改Matlabplot中的坐标轴线的宽度
  6. Eclipse总是运行更新前的代码
  7. Android开发-Activity中“android:exported“属性的作用,以及“Permission Denial: starting Intent“错误解决
  8. 我的世界龙珠mod修改服务器,我的世界龙珠mod大猩猩指令 | 手游网游页游攻略大全...
  9. java setmaxfilesize,Java ServletFileUpload.setFileSizeMax方法代碼示例
  10. java佣兵_佣兵天下-王者归来