美文网首页我爱编程
PHP面试问题总结

PHP面试问题总结

作者: 墨入烟松 | 来源:发表于2018-06-21 16:52 被阅读64次

    长路漫漫,唯键作伴。分享一下近期面试的问题,也是复盘一下。


    1、MySQL 事务嵌套 ,内层事务提交后,外层事务会怎样?

    Mysql是不支持嵌套事务的,开启了一个事务的情况下,再开启一个事务,会隐式的提交上一个事务。也就是说,如果在内层事务开启的时候,外层事务会自动commit,rollback不会起到作用。

    2、MySQL Innodb引擎 锁级别为行锁,SQL语句加排它锁(for update),这两种锁有什么区别,原理是什么?

    MySQLInnodb锁的详解

    Innodb支持行级锁,myisam支持表级锁。

    行锁分 共享锁 和 排它锁。

    共享锁又称:读锁。当一个事务对某几行上读锁时,允许其他事务对这几行进行读操作,但不允许其进行写操作,也不允许其他事务给这几行上排它锁,但允许上读锁。

    排它锁又称:写锁。当一个事务对某几个上写锁时,不允许其他事务写,但允许读。更不允许其他事务给这几行上任何锁。包括写锁

    上共享锁的写法:lock in share mode

    例如: select  math from zje where math>60 lock in share mode;

    上排它锁的写法:for update

    例如:select math from zje where math >60 for update;

    3、MySQL 什么情况会出现死锁,怎么解决?

    MySQL 死锁情况分析

    4、int(1)和int(10)的区别是什么?

    int(1)和int(10)的区别 

    5、varchar(20)和varchar(100)的区别是什么,为什么varchar(20)要比varchar(100)好一点?

    数据库在进行操作的时候,有些情况下会用到临时表,而临时表的内存分配就是根据数据表字段所设置的大小进行分配的,所以说,会节省很多空间。

    如果设置varchar(5),而insert进去的值是十个汉字的话,会截取前五个字录入。

    2018.6.21  后续待补

    相关文章

      网友评论

      本文标题:PHP面试问题总结

      本文链接:https://www.haomeiwen.com/subject/uozqyftx.html