MySQL是一个关系型数据库管理系统,是最好的 RDBMS 应用软件之一。也是java岗位必须面试的知识点之一,那mysql优化面试题目有哪些?下面来我们就来给大家分享一些。
1.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
选择合适的表字段数据类型和存储引擎,适当的添加索引。
mysql库主从读写分离。
找规律分表,减少单表中的数据量提高查询速度。
添加缓存机制,比如memcached,apc等。
不经常改动的页面,生成静态页面。
书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE.
2.实践中如何优化MySQL?
最好是按照以下顺序优化:
1.SQL语句及索引的优化;
2. 数据库表结构的优化;
3.系统配置的优化;
4.硬件的优化;
3.优化数据库的方法有哪些?
1. 选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如’省份’、’性别’最好适用ENUM;
2. 使用连接(JOIN)来代替子查询;
3. 适用联合(UNION)来代替手动创建的临时表;
4. 事务处理;
5. 锁定表、优化事务处理;
6. 适用外键,优化锁定表;
7. 建立索引;
8. 优化查询语句;
4.说说对SQL语句优化有哪些方法?
1.Where子句中:where表之间的连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾.HAVING最后。
2.用EXISTS替代IN、用NOT EXISTS替代NOT IN。
3. 避免在索引列上使用计算;
4.避免在索引列上使用IS NULL和IS NOT NULL;
5.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
6.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描;
7.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;
mysql优化面试题目分享到这里就结束了,mysql是很重要的知识点,作为java要想通过面试,一定要积累这方面的面试题,提高面试通关率!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。
推荐阅读: