专栏名称: 51CTO
51CTO官方公众号——聚焦最新最前沿最有料的IT技术资讯、IT行业精华内容、产品交流心得。本订阅号为大家提供各种技术干货,还会不定期的举办有奖活动,敬请关注。
目录
相关文章推荐
新浪科技  ·  #老旧厂房变身文创新地标#【重生的TA | ... ·  17 小时前  
新浪科技  ·  【#66家授权商押注史迪奇# ... ·  2 天前  
IT之家  ·  70.8万元起、比预售低30万!尊界S800炸场 ·  3 天前  
51好读  ›  专栏  ›  51CTO

【揭秘】数据库面试葵花宝典,让你面试一次过

51CTO  · 公众号  · 科技媒体  · 2017-08-31 11:45

正文

请到「今天看啥」查看全文


(innodb:所有的表都保存在同一个数据文件里面 即为.Ibd)

  • 统计记录行数

    (myisam:保存有表的总行数,select count(*) from table;会直接取出出该值)

    (innodb:没有保存表的总行数,select count(*) from table;就会遍历整个表,消耗相当大)


  • Question 3

    Innodb的体系结构简单介绍一下?


    谈及到innodb的体系结构,首先要考虑mysql的体系结构,分为两部分mysql的server层和存储引擎层

    先要跟面试官聊清楚mysql的整体方向,然后再去涉及innodb体系结构

    建议从三方面介绍innodb体系结构:内存----线程-----磁盘

    内存中包含insert_buffer,data_buffer,index_buffer,redo_log_buffer,double_write

    内存刷新到磁盘的机制,redo,脏页,binlog的刷新条件

    各种线程的作用,master_thread,purge_thread,redo log thread,read thread,write thread,page cleaner thread

    磁盘中存放着数据文件,redo log,undo log,binlog


    Question 4

    mysql有哪些索引类型?


    1. 数据结构角度上可以分:B+tree索引,hash索引,fulltext索引(innodb,myisam都支持)

    2. 存储角度上可以分:聚集索引,非聚集索引

    3. 逻辑角度上可以分:primary key,normal key,单列,复合,覆盖索引


    Question 5

    mysql binlog有几种格式?


    1. statement

    优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能

    缺点:当使用一些特殊函数的时候,或者跨库操作的时候容易丢失数据

    注:在生产中不建议使用

    2. row

    优点:清晰记录每行的数据信息,不会出现跨库丢数据的情况

    缺点:内容当记录到日志中的时候,都将以每行记录的修改来记录,但就会产生大量的binlog,对于网络开销也比较大

    注:生产中推荐使用







    请到「今天看啥」查看全文