• mysql数据库之MyISAM与InnoDB


    看你的mysql现在提供了什么引擎,执行的命令:show engines;

     看你mysql当前默认的存储引擎,执行的命令:show variables like  ‘%storage_engines%’;

    MyISAMInnoDB的的区别:

    MyISAM

    1、不支持外键

    2、不支持事务

    3、支持表锁,即使操作一条记录也会锁住整个表,不适合高并发操作

    4、只支持缓存索引,不缓存真实数据

    5、关注点:节省资源、消耗少、简单的业务

     

    InnoDB

    1、支持外键

    2、支持事务

    2、支持行锁,操作时只锁某一行,不对其他行有影响,适合高并发操作。

    3不仅支持缓存索引,还缓存真实数据,对内存要求较高,而且内存的大小对性能有决定性影响

    3、关注点:并发写、事务、更大的资源

     

    复杂查询:

    #查询两张表:admin_group、admin_log

    SELECT * FROM admin_group g

    INNER JOIN admin_log  l

    ON g.`id`=l.`id`

     

     

    执行之后:

    索引:

    首先自己准备两张表,分别是:myschool、mystudent

     

     

     执行sql语句会出现:Empty set (0.00 sec)

    原因:

    其实就是提示你实体表为空,说的是你的数据库或表里数据为空,你添加上数据就可以了

    使用索引只需要在sql语句前面加explain 关键字即可!

    执行语句:Explain select * from myschool s inner join mystudent t on s.id=t.id;

     

    Explain 性能分析各字段:

    总结:

     id如果相同,可以认为是一组,从上往下顺序执行:

     在所有的组中,id值越大,优先级就越高,越先执行

  • 相关阅读:
    Go panic+defer+recover理解加使用
    golang atomic包的使用
    Mongo 锁的理解
    AudioManager(录音)
    SAXpraseHelper
    Density
    CustomDialog
    CustomScrollVeiw(双向滑动)
    tf的concat问题
    tensorflow的gpu版本错误
  • 原文地址:https://www.cnblogs.com/studygithub5208868/p/11568014.html
Copyright © 2020-2023  润新知