zoukankan      html  css  js  c++  java
  • 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值越大,优先级就越高,越先执行

  • 相关阅读:
    Python Web框架Django (三)
    谷歌把域名标记为不安全的解决办法
    tkmybatis VS mybatisplus
    jdbc预编译实现方式
    分析mybatis中 #{} 和${}的区别
    实体类id的几种生成方式
    java 获取mac地址
    javafx 表格某一列设置未复选框
    关闭在chrome里使用双指前进后退页面的功能
    调试maven源代码
  • 原文地址:https://www.cnblogs.com/studygithub5208868/p/11568014.html
Copyright © 2011-2022 走看看