现在面试官们对面试者的要求越来越高,尤其是在面试技术类岗位的时候比如java,而java中mysql相关的知识又是非常重要的,所以java人员一定要掌握好才能通过面试,下面我们就给大家分享一些关于mysql基础面试题及答案。
一、Mysql 的存储引擎,myisam和innodb的区别是什么?
1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。
2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。
二、数据表类型有哪些?
MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等。
MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。
InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。
三、MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
选择合适的表字段数据类型和存储引擎,适当的添加索引。
mysql库主从读写分离。
找规律分表,减少单表中的数据量提高查询速度。
添加缓存机制,比如memcached,apc等。
不经常改动的页面,生成静态页面。
书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE.
四、数据库中的事务是什么?
事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。ACID 四大特性,原子性、隔离性、一致性、持久性。
五、说几个mysql中你常用的函数有哪些?
sum、count 、avg、min、max;
mysql作为目前最为流行的免费的关系型数据库管理系统,肯定是很多公司面试必问的重点,所以大家一定要多积累一些mysql的面试题,通关面试!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。
推荐阅读: