MySql优化方案
u Mysql数据库的优化技术
对mysql优化时一个综合性的技术,主要包括
a: 表的设计合理化(符合3NF)
b: 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]
c: 分表技术(水平分割、垂直分割)
d: 读写[写: update/delete/add]分离
e: 存储过程 [模块化编程,可以提高速度]
f: 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ]
g: mysql服务器硬件升级
h: 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)
g:mysql语句本身的优化
下面是一些mysql基本使用命令。
一:mysql查看基本命令
(1):查看当前有哪些数据库
show databases;
(2):使用mysql数据库
use test;
(3):查看当前数据库下的表
show tables;
(4):查看上述grade表建立的命令
show create table grade;
(5):查看student表的结构
desc student;
(6):查看数据库支持的存储引擎
show engines;
show engines \G ; // \G让结果更美观
(7):查看默认存储引擎
show variables like 'storage_engine';
二:mysql的修改表
(1)将grade表的course字段的数据类型修改为varchar(20)
alter table grade modify course varchar(20);
(2)将s_num字段的位置改到course前面
alter table grade modify s_num int(10) after id;
(3)将grade字段改名为score
alter table grade change grade score varchar(10);
(4)删除grade的外键约束
alter table grade drop foreign key grade_fk;
(5)将grade的存储引擎修改为INnoDB
alter grade engine=INnoDB;
(6)将student的address字段删除
alter table student drop address;
(7)在student表中增加名位phone的字段
alter table student add phone int (10);
(8)将grade的表名修改为gradeinfo
lter table grade rename gradeinfo;
(9):删除student表
drop table student; //由于先前已经删除外键,所以才能删除父表studnet
Mysql优化查询工具:工具之三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置
创建索引:create INDEX idx_typeid on book1(typeid);
MySQL在建立索引时,对不同的数据表有不同的细节:MyISAM数据表,数据行将被保存在数据文件里,其索引值将被保存在索引文件里,而BDB处理程序把同一个BDB数据表的数据值和索引值保存在同一个文件里,InnoDB处理程序则是把所有InnoDB数据表的数据值和索引值都保存在同一个表空间里。
建立索引也要考虑它的缺点。首先,索引需要消耗磁盘空间(现在磁盘已经很便宜了),索引越多,消耗的空间也就有多。对于MyISAM数据表,过多的索引会使索引文件优先与数据文件达到尺寸上限。对于BDB数据表,因为它把数据值和索引值都保存在同一个文件里,所以增加索引必然会使他更快地达到BDB数据文件的尺寸上限。InnoDB数据表共同分享着InnoDB表空间里的存储空间,所以增加索引必然会加快InnoDB表空间的消耗速度。不过,只要还能增加磁盘空间,就能通过给InnoDB表空间增加组件的办法扩充之
其次,索引过多,会减慢被索引的数据列上的插入、删除和修改操作的速度。因为在写入记录时,MySQL还必须修改与之有关的所有索引
设计表时的优化
可以将相关表的字段的长度设置的一样,查询时可以减少查询时匹配的次数
MySql优化方案总结:http://www.cnblogs.com/xiaoblog/p/4209930.html
数据库优化以及一些常见的数据库应用函数和方法:http://www.cnblogs.com/yydcdut/p/3888308.html
MySql优化方案的更多相关文章
- mysql优化方案总结
u Mysql数据库的优化技术 对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引u ...
- mysql优化方案之sql优化
优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先 ...
- 数据库mysql优化方案
1.创建索引对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致.如果不加索引的话,那么查找任何哪怕只是一条特定的数据 ...
- 大佬是怎么思考设计MySQL优化方案的?
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 一.优化的哲学 注:优化有风险,涉足需谨 ...
- 大牛是怎么思考设计MySQL优化方案
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 1.优化的哲学 注:优化有风险,涉足需谨 ...
- MySQL优化方案二
摘自:http://www.thinkphp.cn/topic/3855.html 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需 ...
- 大牛是怎么思考设计MySQL优化方案的?
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 图-MySQL查询过程 一.优化的哲学 ...
- MySQL 优化方案
基本上通过索引来解决 . 通常索引键在where , group by , order by 相关的列 一个表只能用一个索引(查询的时候)所以当要执行复杂查询时最好使用联合索引就是 index (a, ...
- mysql 性能优化方案
网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
随机推荐
- scala maven pom文件
老司机的spark maven pom文件 pom文件一: 4.0.0 <groupId>com.glsx</groupId> <artifactId>spark- ...
- (转) int argc, char* argv[] 的用法
int main(int argc, char* argv[]) 這兩個參數的作用是什麼呢?argc 是指命令行輸入參數的個數,argv存儲了所有的命令行參數.假如你的程式是hello.exe,如果在 ...
- Mysql常用命令行大全(转)
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- AngularJs directive 'transclude' option 详解
transclude好像不是一个英语单词,有道词典里没有,百度翻译的意思是嵌入. transclude在angularjs的自定义的derective中是比较常见的一个东西,所有有必要要了解它. 我们 ...
- deepin 2014 静态IP无法保存,临时方法
打开终端: #临时添加静态IP ifconfig eth0 [ip] netmask [掩码] #添加默认网关 route add default gw [网关] #添加DNS vim /etc/re ...
- CentOS6.4卸载自带的OpenJDK并安装jdk1.6.21
#进入系统的terminal,查看当前的jdk版本: shell>java -version #查看安装包 shell>rpm -qa|grep java #将上条命令查出来的结果卸载掉, ...
- HttpApplication中的异步线程
一.Asp.net中的线程池设置 在Asp.net的服务处理中,每当服务器收到一个请求,HttpRuntime将从HttpApplication池中获取一个HttpApplication对象处理此请求 ...
- mvc 解决StyleBundle中 图片绝对路径 装换成相对路径的问题 CssRewriteUrlTransform
问题 解决办法
- wireshark----教你如何抓包
wireshark----教你如何抓包 wireshark是一款强大的抓包工具,走过路过一定不要错过就是了,当你学习TCP/IP协议的时候,学习使用wireshark 抓包正是理论联系实际最好的方法, ...
- 基于引擎的matlab+vc混合编程的配置
前段时间在项目中做了一些关于基于引擎的vc+matlab混合编程的工作. 如果你是混合编程新手,我相信使用引擎的方式编程是比较简单快捷的一种方式. 当然这种方法也有其缺点,就是不能脱离matlab运行 ...