凯迪网络(MySQL数据库优化怎么做)

凯迪网络:MySQL数据库优化可以从哪些方面入手?具体怎么做?一般我们主要从优化SQL语句、优化数据库结构、优化Mysql服务器等几方面入手,而优化SQL语句又可以分为优化查询语句和其他执行语句;数据库结构也可以从字段类型、字符编码、适当拆分、增加冗余和数据库表来做优化;至于优化Mysql服务器就更简单了,需要遵循一定的优化原则即可。现在我们来看看具体的优化方案吧!

凯迪网络
凯迪网络

一、优化SQL语句

1、优化查询语句

(1)通过Explain和Describe关键字分析select查询语句,从而使开发人员知道查询效率低的原因。语法如下:explain select * from bookmanager where Name=’admin’ G;

(2)通过添加索引进行优化

说起数据库的性能,索引可能使最物美价廉的东西了。使用索引可以快速的定位表中的某条记录,不用添加内存、不用修改程序,也不用调用sql语句,只需执行一个创建正确的索引,查询速度就可能提高千倍万倍。索引并不一定是主键或者唯一的字段,如果表中的某个字段总是被搜索,就可以为其创建索引。创建索引的语句如下:create index index_name on table_name(manName); 使用索引应注意的事项:使用多列索引时,查询条件必须使用索引的第一个字符。符;like关键字配置的字符串不能以符号“%”开头;or关键字连接的所有条件都必须使用索引。如果or前后有一个条件的列不是索引,那么查询中讲不使用索引。

(3)优化Order by

有两种方式如下:索引优化:对by后的列添加索引,从而大达到优化的目的;where+order by 的组合优化:通过where进行限制后在进行order by。

(4)优化group by(同3中通过加索引和where进行优化)

(5)优化limit

(6)优化子查询:在mysql中通过使用连接查询来代替子查询,从而达到优化目的。原因:子查询在执行的时候 数据库需要位内层查询语句的查询结果建立一个临时表,然后外层语句查询临时表,所以子查询的效率比较低,而连接查询就不存在这个问题。

2、优化其他执行语句

(1)优化insert语句:禁用索引,禁用唯一性检查,使用一条insert插入多条语句。

(2)优化update语句:使用一个update语句同时做多个更新。

(3)优化delete语句:删除一条记录的时间与索引的数量成正比。删除一个表的所有行,使用truncate table Tbname 而不要使用delete from table

二、优化数据库结构

1、优化字段类型

数据库最耗时的就是IO处理,所以尽可能减少IO读写量。数字类型:尽量不要使用double类型,不仅是长度问题,还有精度问题。对于整数,数据量大时区分TinyInt、Int、BigInt,如果确定不实用负数,添加unsigned定义;字符类型:尽量不要使用text类型,性能低于char和varchar,定长使用char,不定长使用varchar;时间类型:尽量不使用Timestamp,只精确到某一天的话,可用Date类型; Enum和Set:状态字段用enum,如果存放可预先定义的属性数据可以尝试用set。

2、优化字符编码

3、适当进行拆分

4、适当增加冗余

5、优化数据库表

三、优化Mysql服务器

优化Mysql服务器要遵循以下的优化原则:内存中的数据要比磁盘上的数据访问的快;让数据尽可能长时间的留在内存里能减少磁盘读写活动的工作量;让索引信息留在内存里要比让数据记录的内容留在内存里更为重要。

本文《凯迪网络(MySQL数据库优化怎么做)》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。

随机文章

SEO小小课堂网
SEO教程
站长导航
友情链接交换
搜素引擎算法
关键词排名优化
站长导航
友情链接交换

百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/7802.html