1.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。
c. mysql库主从读写分离。
d. 找规律分表,减少单表中的数据量提高查询速度。
e。添加缓存机制,比如memcached,apc等。
f. 不经常改动的页面,生成静态页面。
g. 书写高效率的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.如何通俗地理解三个范式?

答:第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。。

范式化设计优缺点:

点:

可以尽量得减少数据冗余,使得更新快,体积小

缺点:对于查询需要多个表进行关联,减少写得效率增加读得效率,更难进行索引优化

反范式化:

优点:可以减少表得关联,可以更好得进行索引优化

缺点:数据冗余以及数据异常,数据得修改需要更多的成本

5.说说对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优化方面的面试题相关推荐

  1. 面试过程中常遇到的Mysql优化方面的面试题

    1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 2.MySQL中myisam与innodb的区别,至少5点 (1).问5点不同: (2).innodb引擎的4大特性 (3). ...

  2. MySql性能优化及常见面试题

    数据库优化四个维度 硬件升级 系统配置 表结构设计 sql语句及索引 优化选择 优化成本:硬件升级 > 系统配置 > 表结构设计 > sql语句及索引 优化效果:硬件升级 < ...

  3. mysql优化-面试题

    第一方面:30种mysql优化sql语句查询的方法        1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 whe ...

  4. 【mysql优化专题】本专题终极总结(共12篇)

    本专题目录如下: 一.为什么要进行mysql优化?(重点) 二.增删改优化,多数人都会忽略的优化 三.关于单表查询,可以这么优化 四.关于多表查询,不得不看的优化 五.索引优化(重点中的重点) 六.表 ...

  5. awr报告分析 mysql_4个MySQL优化工具,帮你准确定位数据库瓶颈!

    作者:老王谈运维原文:https://www.toutiao.com/a6691523026984370699/ 对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你 ...

  6. php面试mysql数据库题_PHP面试题 - MySQL数据库

    1. 写出下面2个PHP操作Mysql函数的作用和区别(新浪网技术部) mysql_num_rows() mysql_affected_rows() 这两个函数都作用于mysql_query($que ...

  7. Mysql优化(高级篇)

    Mysql数据库优化篇 Q: 为什么别人问你MySQL优化的知识 总是没有底气. A: 因为你只是回答一些大而化之的调优原则, 比如:"建立合理索引"(什么样的索引合理?) &qu ...

  8. MySQL优化配置之query_cache_size

    原理 MySQL查询缓存保存查询返回的完整结果.当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段.  查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失 ...

  9. 小型网站到大型网站-Mysql优化

    2019独角兽企业重金招聘Python工程师标准>>> 背景 好的大型网站都是从小型网站慢慢演变来的,都不是一步就设计好的.现在的淘宝,03年创建的时候它也是只有一台服务器,使用的是 ...

  10. 4 个 MySQL 优化工具 AWR,帮你准确定位数据库瓶颈!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:今日头条,作者:老王谈运维 www.toutiao.com/ ...

最新文章

  1. C++ string中find ,rfind 等函数 用法总结及示例
  2. Xposed源码剖析——概述
  3. Segment,Path,Ring和Polyline对象
  4. Qt踩坑之打包exe
  5. ASP.NET Core和Blazor Code Venture:配置Azure AD身份验证
  6. 【less-6】sqli-labs靶场第六关(类似less-5)
  7. 云南科软信息科技有限公司
  8. Mongodb入门安装
  9. 50行代码实现的一个最简单的基于 DirectShow 的视频播放器
  10. Java 8 新特性(一)lambda表达式
  11. paip. c++ doxygen 文档工具的使用以及跟QT CREATOR的集成
  12. Effective C++ 英中简繁术语对照
  13. jmeter常见面试题
  14. ​新型冠状病毒是对未来自我隔离的预演?
  15. Java tif转jpg代码实现
  16. 英语科技论文写作语法积累
  17. 人工智能新风口上,网易是否能够突围?
  18. BH1750 光照传感器文档详解 及 驱动设计
  19. 查查自己五行属什么命
  20. 新一代图片编解码技术在淘宝的应用及落地

热门文章

  1. matlab计算潮流,matlab潮流计算
  2. c语言实验报告1.4.3,c语言实验报告实验三.doc
  3. 小米手机怎么在图片显示定位服务器,小米浏览器中,图片导致fixed定位的元素无法显示...
  4. Android直播APP源码搭建中豪华物特效的实现
  5. 最优化理论——最速下降法
  6. jquery datatables api (转)
  7. 安装虚拟机报错 This kernel requires an X86-64 CPU,but only detected an i686 CPU
  8. Win10如何为命令提示符增加输入命令获取管理员权限功能?
  9. Sigmoid函数求导
  10. 普元EOS:文件上传单个文件或多选文件上传