码农求职小助手mysql高频面试题_第1页
码农求职小助手mysql高频面试题_第2页
码农求职小助手mysql高频面试题_第3页
码农求职小助手mysql高频面试题_第4页
码农求职小助手mysql高频面试题_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/9/7 2019/9/72、MySQLB二查询性能优化1Explain如何做MySQL的性能优化?三引四数据类型3、 策六MyISAM和InnoDB引擎使用的锁InnoDB引擎的锁的算法有三种1、SQL语句的执行顺序3、MySQLCPU500%十、SQL语句 1、BBTree指的是BalanceTree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节B+树是基于B树和叶子节点顺序指针进行实现,它具有B树的平衡性,并且通在B+树中,一个节点中的key从左到右非递减排列,如果某个指针的左右相邻keykeyikeyi+1nullkeykeyi于等于keyi+1。进行查找操作时,首先在根节点进行二分查找,找到一个 所在的指针,然后递归keydata、删除操作会破坏平衡树的平衡性,因此在删除操作之后,需要对树进行一BhO(h)=O(logdNd树的出度为2,而B+Tree的出度一般都非常大,所以树的树高h很明显B+Tree大非常多,查找的次数也就为了减少磁盘I/O操作,磁盘往往不是严格按需,而是每次都会预读。预读过程为单位交换数据。数据库系统将索引的一个节点的大小设置为页的大小,使得一次I/O就BInDB的+adataB+TreeKey其data域的值,然后以data域的值为地址相应的数据记录。这被称为“非聚InnoDB:其数据文件本身就是索引文件。相比MyISAM的索引文件和数据文件是分离的,其表数据文件本身就是按B+Tree组织的一个索引结构,树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文助索引,辅助索引的data域相应记录主键的值而不是地址,这也是和MyISAM不同的地方。在根据主索引搜索时,直接找到key所在的节点即可取出数据;在根InnoDB引擎有一个特殊的功能叫“自适应哈希索引”,当某个索引值被使用的BB+TreeMATCHAGAINSTWHEREInnoDB引擎在MySQL5.6.4版本中也开始支持全文索引2.4.MyISAM引擎支持空间数据索引(R-Tree),可以用于地理数据。空间数据必须使用GIS相关的函数来数据actor_idfilm_idWHEREactor_id=1ANDfilm_id=1;1,此时每个记录FROMBLOB、TEXTVARCHAR—些引擎(例如 MyISAM)在内存中只缓存索引,而数据依赖于操作系统来缓 2、帮助服务器避免进行排序和分组,以及避免创建临时表(BORDERBYGROUPBYSQLSELECTSELECT*FROM`houdunwang`WHERE`uname`LIKE走索SELECT*FROM`houdunwang`WHERE`uname`LIKE不走索EXPLAINSELECT*FROM`a`WHERE`a`="1"走索同样也是使用了函数运 7、MySQL优化器会对SQL语句进行优化,如果优化器估计使用全表扫描要比使用二查询性能优1ExplainMySQLSQL2、type:类型【 查询优化的一个重要指标】结果值从好到坏依次是system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALLsystem:表只有一行记录(等于系统表),这是const类型的特例,平时不会出constconstprimarykeyuniquewheremysql该查询转换为一个const;键或唯一索引扫描;range:只检索给定范围的行,使用一个索引来选择行。key列显示使用了那个索indexFullIndexScan,indexALLindexALL快,应为索引文件通常比数据文件小。(index与ALL虽然都是读全表,但index是从索引中,而ALL是从硬盘)ALL:FullTableScan3、key:使用的索引,如果为NULL,则没有使用索引;4、 扫描的行数Explain命令详解 1SELECT*do{LIMIT10000")以让MySQL按照ID顺序进行查询,这可能比随机的连接要更高效。SELECTSELECT*FROMJOINpostONtag_post.post_id=post.idWHEREtag.tag='mysql';SELECTSELECT*FROMtagWHEREtag='mysql';MySQL问题排查都有哪些2explainSQLMySQL2select*三引实现了四个标准的级别,默认级别是:可重复读(REPEATABLEREAD)。在可(CONCURRENTINSERT)。2、并发:MyISAMInnoDB5、恢复:MyISAM后发生损坏的概率比InnoDB高很多,而且恢复的速度也更2selectcount*据类TINYINTSMALLINTMEDIUMINTINTBIGINT81624,32,64FLOATDOUBLEDECIMALCPU运算,但是不支持DECIMAl类型的计算,因此DECIMAL的计算比浮点类型需要更高的FLOAT、DOUBLEDECIMALDECIMAL(18,918位,取9位小数部分,剩下9位整数部分CHARVARCHARVARRUPDATE 时可能会使行变得比原来长,当超出一个页所能容纳的大小时,就要执行额外的操作。IAM会将行成不同片段,而InoDB需来行进内在进行和检索时,会保留VARCHAR末尾的空格,而会删除CHAR末尾的varchar(505050,varchar(50varchar(200)o所占空间一样,但后者在排序时会消耗内存,因为orderbycol采用fixed_length计算col长度。MySQLDATETIMETIMESTAMP能够保存从1001年到9999年的日期和时间,精度为秒,使用8字节的空间。默认情况下,MySQLDATETIME如“2008-01-1622:37:08ANSI和UNIX时间戳相同,保存从1970年1月1日午夜(时间)以来的秒数,使用4个字节,只能表示从1970年到2038年。UNIX_TIMESTAMPUNIX水平切分又称为Sharding,它是将同一个表中的记录拆分到多个结构相同的表中。 XAID使用全局唯—分布式ID( 的Snowflake算法六主要涉及三个线程:binlogI/OSQLSQL线程:负责重放日志并重放其中的SQL语句七、事

2、一致性 执行事务前后,数据库从一个一致性状态转换到另一个一致性状态3、性: 并发数据库时,一个用户的事物不被其他干扰,各并发事务之间4、持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库 MITTED(未提交读):最低的级别,允许尚未提交的数据变 MITTED(提交读):允许并发事务已经提交的数据,可以脏据是被本身事务自己所修改,可以脏读和不可重复读,但幻读仍有可能发生。入记录A,此时该事务还未提交,然后另一个事务尝试到了记录A。不可重复 :是指在一个事务内,多次读同一数据幻读:指同一个事务内多次查询返回的结果集不一样。比如同一个事务Ann+1默认采用的REPEATABLE_READ级别Oracle默认采用 MITTED 所谓的MVCC(Multi-VersionConcurrencyControl,多版本并发控制)指的就是在使用READCOMMITTD、REPEATABLEREAD这两种级别的事务在执行普通的SEELCT操作时记录的版本链的过程,这样子可以使不同事务的读-写、写-读操作并发READCOMMITTD、REPEATABLEREAD这两个级别的一个很大不同就是生成ReadViewREADCOMMITTDSELECT一个ReadView,而REPEATABLEREAD只在第一次进行普通SELECT操作前生成一个ReadView,之后的查询操作都重复这个ReadView就好了。八、锁MyISAMtable-levellocking度最低,MyISAMInnoDB行级锁:L的一种锁,只针对当前操作的行进行加锁。行级锁能大大减少据库操的其加锁度最小并度高,但锁的开也最大加锁将使用表锁2、在你增删改查时,匹配的条件字段不带有索引时,InnoDBselect命令时触发读锁,什么时候触发写锁,就是在你使用update、de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论