简单叙述一下MYSQL的优化


Posted in 面试题 onMay 09, 2016
1.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为not null,除非这个字段需要null.
3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.
4).表的主索引应该尽可能的短.这样的话每条纪录都有名字标志且更高效.
5).只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引。索引的第一部分必须是最常使用的字段.如果总是需要用到很多字段,首先就应该多复制这些字段,使索引更好的压缩。
6).所有数据都得在保存到数据库前进行处理。
7).所有字段都得有默认值。
8).在某些情况下,把一个频繁扫描的表分成两个速度会快好多。在对动态格式表扫描以取得相关记录时,它可能使用更小的静态格式表的情况下更是如此。
2.系统的用途
1).尽量使用长连接.
2).explain 复杂的SQL语句。
3).如果两个关联表要做比较话,做比较的字段必须类型和长度都一致.
4).LIMIT语句尽量要跟order by或者 distinct.这样可以避免做一次full table scan.
5).如果想要清空表的所有纪录,建议用truncate table tablename而不是delete from tablename.
6).能使用STORE PROCEDURE 或者 USER FUNCTION的时候.
7).在一条insert语句中采用多重纪录插入格式.而且使用load data infile来导入大量数据,这比单纯的indert快好多.
8).经常OPTIMIZE TABLE 来整理碎片.
9).还有就是date 类型的数据如果频繁要做比较的话尽量保存在unsigned int 类型比较快。
3.系统的瓶颈
1).磁盘搜索.
并行搜索,把数据分开存放到多个磁盘中,这样能加快搜索时间.
2).磁盘读写(IO)
可以从多个媒介中并行的读取数据。
3).CPU周期
数据存放在主内存中.这样就得增加CPU的个数来处理这些数据。
4).内存带宽
当CPU要将更多的数据存放到CPU的缓存中来的话,内存的带宽就成了瓶颈.

Tags in this post...

面试题 相关文章推荐
super()与this()的区别
Jan 17 面试题
C语言面试题
Oct 30 面试题
铭万公司.net面试题笔试题
Jul 20 面试题
关于VPN
Jun 10 面试题
西安启天科技有限公司网络工程师面试题笔试题
Jun 12 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
Nov 20 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
linux面试题参考答案(9)
Jan 29 面试题
如何从一个文件档案的尾端新增记录
Dec 02 面试题
介绍一下Java的事务处理
Dec 07 面试题
Java如何读取CLOB字段
Oct 10 面试题
值传递还是引用传递
Feb 08 面试题
MySQL面试题目集锦
Apr 14 #面试题
如何提高MySql的安全性
Jun 19 #面试题
介绍一下Mysql的存储引擎
Feb 12 #面试题
介绍一下如何优化MySql
Dec 20 #面试题
腾讯公司的一个sql题
Jan 22 #面试题
十一个高级MySql面试题
Oct 06 #面试题
遇到的Mysql的面试题
Jun 29 #面试题
You might like
php mysql索引问题
2008/06/07 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
js实现随机点名小功能
2017/08/17 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
pyramid配置session的方法教程
2013/11/27 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Django 前后台的数据传递的方法
2017/08/08 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
印度购物网站:TATA CLiQ
2017/11/23 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
大学生简单自荐信
2013/11/10 职场文书
药品业务员岗位职责
2014/04/17 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js